我有一个带有类testimonial
的div的加载,我想使用jquery循环遍历它们以检查每个div是否为特定条件为真。如果是,它应该执行一个动作。
有谁知道我会怎么做?
答案 0 :(得分:906)
使用each:'i
'是数组中的位置,obj
是您正在迭代的DOM对象(也可以通过jQuery包装器$(this)
访问)。
$('.testimonial').each(function(i, obj) {
//test
});
查看api reference以获取更多信息。
答案 1 :(得分:108)
试试这个......
$('.testimonial').each(function(){
//if statement here
// use $(this) to reference the current div in the loop
//you can try something like...
if(condition){
}
});
答案 2 :(得分:42)
这些天没有jQuery这样做非常简单。
只需选择元素并使用.forEach()
method迭代它们:
var testimonials = document.querySelectorAll('.testimonial');
Array.prototype.forEach.call(testimonials, function(elements, index) {
// conditional here.. access elements
});
答案 3 :(得分:39)
试试这个例子
<强> HTML 强>
<div class="testimonial" data-index="1">
Testimonial 1
</div>
<div class="testimonial" data-index="2">
Testimonial 2
</div>
<div class="testimonial" data-index="3">
Testimonial 3
</div>
<div class="testimonial" data-index="4">
Testimonial 4
</div>
<div class="testimonial" data-index="5">
Testimonial 5
</div>
当我们要访问divs
大于data-index
的{{1}}时,我们需要这个jquery。
2
答案 4 :(得分:27)
你可以这样做
$('.testimonial').each(function(index, obj){
//you can use this to access the current item
});
答案 5 :(得分:17)
divs = $('.testimonial')
for(ind in divs){
div = divs[ind];
//do whatever you want
}
答案 6 :(得分:14)
jQuery's .eq()可以帮助您使用索引方法遍历元素。
var testimonialElements = $(".testimonial");
for(var i=0; i<testimonialElements.length; i++){
var element = testimonialElements.eq(i);
//do something with element
}
答案 7 :(得分:13)
您可以使用.filter
简洁地完成此操作。以下示例将隐藏包含单词“something”的所有.testimonial div:
$(".testimonial").filter(function() {
return $(this).text().toLowerCase().indexOf("something") !== -1;
}).hide();
答案 8 :(得分:9)
使用简单的for循环:
var testimonials= $('.testimonial');
for (var i = 0; i < testimonials.length; i++) {
// Using $() to re-wrap the element.
$(testimonials[i]).text('a');
}
答案 9 :(得分:8)
我可能会遗漏部分问题,但我相信你可以这样做:
$('.testimonial').each(function() {
if(...Condition...) {
...Do Stuff...
}
}
答案 10 :(得分:7)
没有更新jQuery
document.querySelectorAll('.testimonial').forEach(function (element, index) {
element.innerHTML = 'Testimonial ' + (index + 1);
});
&#13;
<div class="testimonial"></div>
<div class="testimonial"></div>
&#13;
答案 11 :(得分:6)
$('.testimonal').each(function(i,v){
if (condition) {
doSomething();
}
});
答案 12 :(得分:4)
更精确:
$.each($('.testimonal'), function(index, value) {
console.log(index + ':' + value);
});
答案 13 :(得分:2)
YYYY-MM-DD, INT, INT, INT
YYYY-MM-DD, INT, INT, INT
由[...document.querySelectorAll('.testimonial')].forEach( el => {
el.style.color = 'red';
});
Element.querySelectorAll()
[...document.querySelectorAll('.testimonial')].forEach( el => {
el.style.color = 'red';
const stuff = `Element ${el.tagName} with ID #${el.id} says: ${el.textContent}`;
console.log( stuff );
});
答案 14 :(得分:0)
您可以使用jQuery $ each方法遍历具有类推荐的所有元素。 i =>是元素在集合中的索引,而val为您提供该特定元素的对象,您可以使用“ val”进一步访问元素的属性并检查条件。
$.each($('.testimonal'), function(i, val) {
if(your condition){
//your action
}
});