Trong một hàm jQuery, tôi cần phải lặp qua một số phần tử HTML với cùng một lớp và so sánh một chuỗi cụ thể với nội dung của các phần tử đó trong mỗi lần lặp.
Bất cứ ai có thể cho tôi một số lời khuyên làm thế nào để làm điều này?
Rahul Gupta
9.3436 huy hiệu vàng58 Huy hiệu bạc67 Huy hiệu đồng6 gold badges58 silver badges67 bronze badges
Đã hỏi ngày 29 tháng 10 năm 2013 lúc 9:08Oct 29, 2013 at 9:08
1
thử cái này:
$.each[$['.your-class-name'], function[] {
if[$[this].text[] == 'your-text']
console.log['yes'];
else
console.log['no'];
}];
Đã trả lời ngày 29 tháng 10 năm 2013 lúc 9:12Oct 29, 2013 at 9:12
Rasool Ghafarirasool GhafariRasool Ghafari
3.9735 huy hiệu vàng39 Huy hiệu bạc67 Huy hiệu đồng5 gold badges39 silver badges67 bronze badges
Xin chào, bạn có thể làm điều đó thông qua mã dưới đây ..
$[function[] {
var foundin = $['.yourclass:contains["I am a simple string"]'];
}];
Foundin sẽ là một đối tượng jQuery chứa bất kỳ phần tử phù hợp nào. Xem thông tin API tại: //docs.jquery.com/selector/contains#text
Đã trả lời ngày 29 tháng 10 năm 2013 lúc 9:19Oct 29, 2013 at 9:19
CodeBreakerCodeBreakercodebreaker
1.4451 Huy hiệu vàng12 Huy hiệu bạc18 Huy hiệu đồng1 gold badge12 silver badges18 bronze badges
Bạn có thể làm điều đó bằng cách sử dụng hàm .each []. Kiểm tra tài liệu chính thức: //api.jquery.com/each/
Phương pháp .each [] được thiết kế để làm cho các cấu trúc vòng lặp DOM ngắn gọn và dễ bị lỗi. Khi được gọi nó lặp đi lặp lại trên các phần tử DOM là một phần của đối tượng jQuery. Mỗi lần gọi lại, nó được thông qua lần lặp vòng lặp hiện tại, bắt đầu từ 0. Quan trọng hơn, cuộc gọi lại được kích hoạt trong bối cảnh của phần tử DOM hiện tại, do đó, từ khóa này đề cập đến phần tử.
// Loop through each item
$['.yourclass'].each[function[index] {
// Make your comparison
console.log[ index + ": " + $[ this ].text[] ];
}];
Đã trả lời ngày 29 tháng 10 năm 2013 lúc 9:13Oct 29, 2013 at 9:13
Poiuytrezpoiuytrezpoiuytrez
Huy hiệu vàng 20.4K3333 gold badges108 silver badges165 bronze badges
Đây là bản demo js fiddle cho bạn, hãy kiểm tra nó.demo JS FIDDLE for you, check it out.
HTML:
This is div 1
This is div 2
This is div 3
This is div 4
JS:
var search_text = "This is div 4";
// Loop through each item
$['.my_class'].each[function[index] {
var current_elem_text = $[this].html[];
alert[current_elem_text];
if[current_elem_text == search_text]
{
alert['Hey ! it matches '];
}
else
{
alert['Sorry it does not match '];
}
}];
Đã trả lời ngày 29 tháng 10 năm 2013 lúc 9:32Oct 29, 2013 at 9:32
Rahul Guptarahul GuptaRahul Gupta
9.3436 huy hiệu vàng58 Huy hiệu bạc67 Huy hiệu đồng6 gold badges58 silver badges67 bronze badges
1
Mô tả: Lặp lại một đối tượng jQuery, thực hiện một hàm cho mỗi phần tử phù hợp.Iterate over a jQuery object, executing a function for each matched element. function Một hàm để thực thi cho mỗi phần tử phù hợp. Phương pháp .each [chức năng] Trả về: jQueryReturns: jQuery
Phiên bản được thêm vào: 1.0.each [chức năng].each[ function ]
0 được thiết kế để làm cho các cấu trúc vòng lặp DOM ngắn gọn và dễ bị lỗi hơn. Khi được gọi nó lặp đi lặp lại trên các phần tử DOM là một phần của đối tượng jQuery. Mỗi lần gọi lại, nó được thông qua lần lặp vòng lặp hiện tại, bắt đầu từ 0. Quan trọng hơn, cuộc gọi lại được kích hoạt trong bối cảnh của phần tử DOM hiện tại, do đó từ khóa
$[function[] {
var foundin = $['.yourclass:contains["I am a simple string"]'];
}];
1 đề cập đến phần tử.
$[function[] {
var foundin = $['.yourclass:contains["I am a simple string"]'];
}];
Giả sử bạn có một danh sách đơn giản không theo thứ tự trên trang:
Bạn có thể chọn các mục danh sách và lặp lại trên chúng:
1 2 3 |
|
Do đó, một thông báo được đăng nhập cho từng mục trong danh sách:
0: Foo 1: Bar
1: bar
Bạn có thể dừng vòng lặp từ trong chức năng gọi lại bằng cách trả về
$[function[] {
var foundin = $['.yourclass:contains["I am a simple string"]'];
}];
2.Lưu ý: Hầu hết các phương thức jQuery trả về một đối tượng jQuery cũng lặp qua tập hợp các phần tử trong bộ sưu tập jQuery - một quá trình được gọi là lặp ẩn. Khi điều này xảy ra, thường không cần thiết phải lặp lại một cách rõ ràng bằng phương pháp
$[function[] {
var foundin = $['.yourclass:contains["I am a simple string"]'];
}];
0:
1 2 3 4 5 6 7 |
|
Examples:
Lặp lại trên ba div và đặt thuộc tính màu của chúng.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
Demo:
Để truy cập một đối tượng jQuery thay vì phần tử DOM thông thường, hãy sử dụng
$[function[] {
var foundin = $['.yourclass:contains["I am a simple string"]'];
}];
4. Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | ________số 8 |
Demo:
Sử dụng
$[function[] {
var foundin = $['.yourclass:contains["I am a simple string"]'];
}];
5 để thoát ra khỏi mỗi [] vòng lặp sớm.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|