Tôi đang học jQuery từ một cuốn sách có tên là Head First jQuery. Cuốn sách rất dễ học. Vấn đề là, có một hàm .each()
(được bao gồm trong hình ảnh mà tôi đã quét từ) có tham số hàm(). Tham số hàm() là index
và value
. Chỉ mục được giải thích trên trang, nhưng giá trị của nó thì sao? Và cũng có thể, vì nó là một hàm ẩn danh (mà không thể được tái sử dụng) làm thế nào nó lấy bất kỳ tham số nào?jQuery.each (hàm (chỉ mục, giá trị) {}); Giá trị là gì?
Trả lời
Giá trị thứ hai mà bạn gọi là giá trị giá trị của bộ sưu tập hiện đang được xử lý bởi từng chức năng.
Đối với câu hỏi thứ hai của bạn - các chức năng ẩn danh có thể được sử dụng lại, chỉ vì chúng không có tên không có nghĩa là chúng không thể có tham số hoặc được thực thi. Xem ví dụ sau:
function execute_fn(fn) {
fn(1,2);
}
execute_fn(function(a,b) { ... });
Giá trị ** của bộ sưu tập hiện đang được xử lý ** có nghĩa là gì không ?: - $ (". MyClass") mỗi (hàm (chỉ số, giá trị) {}); Và chúng tôi có: - – cadence441
... tiếp tục Vậy giá trị của phần tử đầu tiên sẽ trở thành "Nút"? Và (fn) jQuery được xác định hoặc do người dùng xác định? Ý tôi là hàm .each() là jQuery được định nghĩa. Giống như vậy là (fn) jQuery được định nghĩa? Nếu nó được người dùng định nghĩa, chúng tôi không chuyển bất kỳ thứ gì làm thông số fn, phải không? Và tương tự cho (a, b) phải không? – cadence441
Trong ví dụ của bạn trong giá trị thực thi đầu tiên sẽ là phần tử DOM của nút (do đó sẽ là điều này; trong mỗi hàm tham số thứ hai và điểm này cho cùng một đối tượng) và lần sau nó sẽ là phần tử DOM của nút gửi. Về ví dụ của tôi: nó chỉ nên chứng minh làm thế nào một chức năng ẩn danh có thể được thực hiện bởi một chức năng khác nhau. Nó không sử dụng jQuery chút nào. Tôi khuyên bạn nên đọc về các khái niệm cơ bản về JavaScript. JavaScript có thể trông giống như C++/C/Java nhưng nó rất khác nhau. – Preli
Có hai phương pháp each
trong jQuery. Một là cho đi xe đạp trên một đối tượng jQuery có chứa nhiều trận đấu. Ví dụ, giả sử chúng ta muốn tìm tất cả các đoạn văn trên trang:
$("p").each(function(){
// Do something with each paragraph
});
Thứ hai, có một chung chung hơn each
cho iterating trên các đối tượng hoặc các mảng:
var names = ["Jonathan", "Sampson"];
$.each(names, function(){
// Do something with each name
});
Khi chu kỳ jQuery trên các yếu tố trong một trong những ví dụ này, nó giữ số đối tượng mà nó hiện đang xử lý. Khi nó thực thi hàm ẩn danh của chúng ta, nó truyền vào hai tham số - giá trị hiện tại chúng ta đang ở (chỉ mục), và đối tượng (giá trị) đó.
var names = ["Jonathan", "Sampson"];
$.each(names, function(index, value){
alert(value + " is " + index);
});
Đầu ra nào "Jonathan là 0" và "Sampson là 1" vì chúng tôi đang sử dụng chỉ mục dựa trên không.
Nhưng còn đối tượng jQuery gốc của chúng ta thì sao?
$("p").each(function(index, value){
alert(value.textContent); // The text from within the paragraph
});
Trong trường hợp này, value
là một đối tượng thực tế HTMLParagraphElement
, vì vậy chúng ta có thể truy cập vào các thuộc tính như textContent
hoặc innerText
vào nó nếu chúng ta thích:
Vì vậy 'giá trị' là đối tượng chứ không phải thuộc tính' giá trị'? Bởi thuộc tính 'value' tôi có nghĩa là giống như trong một' đầu vào' có một thuộc tính 'type' có thể là' nút', 'submit' và như vậy có một thuộc tính' value' cho các kiểu 'input' nữa. – cadence441
@ cadence441 Có, 'giá trị' là phần tử. Đây có thể là một phần tử HTML hoặc đây có thể là một chuỗi. Hoặc nó có thể là một mảng, một đối tượng hoặc một số - nó phụ thuộc vào bộ sưu tập bạn đang đi xe đạp. Và lưu ý rằng tên biến 'đầu vào' và' giá trị' không quan trọng - chỉ có thứ tự. Bạn sẽ thường thấy mọi người chỉ bao gồm 'chỉ mục' hoặc họ sẽ sử dụng cả hai dưới các tên khác nhau, như' i' và 'v'. – Sampson
vì vậy trong ví dụ cuối cùng, "giá trị" giống như "điều này"? – Andy
- 1. Giá trị của hàm (a, b) là gì?
- 2. Trả về một giá trị khi sử dụng jQuery.each()?
- 3. jQuery: "Gọi lại giá trị" là gì?
- 4. Sự khác biệt giữa giá trị và giá trị mục
- 5. Sự khác nhau giữa Chuỗi (giá trị) và giá trị là Chuỗi là gì?
- 6. Giá trị hàm trong JavaScript
- 7. Giá trị mặc định GOMAXPROCS là gì
- 8. Giá trị "nib" và "xib" là gì?
- 9. Thêm giá trị vào ma trận thưa thớt Scipy với chỉ mục và giá trị
- 10. Không chỉ định giá trị nil cho hàm băm
- 11. Thuật toán tìm kiếm chỉ mục cho nhiều giá trị là gì?
- 12. Thêm một giá trị 2 giá trị vào dict là khóa: giá trị
- 13. Giá trị "*; 1" trong giá trị TADOStoredProc.ProcedureName trong Delphi là gì?
- 14. Giá trị trả về của hàm đệ quy là 'undefined'
- 15. Phần tử Spring <constructor-arg> phải chỉ định giá trị ref hoặc giá trị
- 16. Có phải chuỗi ký tự và giá trị trả về hàm giá trị hoặc giá trị không?
- 17. Sự khác biệt giữa giá trị (loại) và loại (giá trị) là gì?
- 18. Giá trị mặc định trong giá trị thuộc tính css có nghĩa là gì?
- 19. Chỉ mục trên một cột chỉ có 5 giá trị khác biệt - Đáng giá?
- 20. Giá trị của các nhà máy ngoại lệ là gì?
- 21. tlv (giá trị độ dài của thẻ) là gì?
- 22. Giá trị null chỉ mục mysql 5.0 có được không?
- 23. Datetime.now là giá trị TimeSpan?
- 24. chỉ mục thưa thớt và giá trị null trong mongo
- 25. So sánh hai bảng chỉ mục theo giá trị chỉ mục trong lua
- 26. Hiểu F # Lỗi Giá trị Giá trị
- 27. chuyển 2 giá trị cho hàm javascript
- 28. Hàm tạo chuỗi có giá trị rỗng
- 29. Giá trị trả về PHP exec() là gì?
- 30. Giá trị mặc định cho FACELETS_REFRESH_PERIOD là gì?
http://api.jquery.com/each – BoltClock
Và ai các chức năng ẩn danh có thể không nhận tham số không? :) – BoltClock