我有一个div与类的证明,我想用jquery循环通过他们检查每个div如果一个特定的条件是真的负载。如果为真,它应该执行一个操作。
有人知道我会怎么做吗?
我有一个div与类的证明,我想用jquery循环通过他们检查每个div如果一个特定的条件是真的负载。如果为真,它应该执行一个操作。
有人知道我会怎么做吗?
当前回答
使用简单的for循环:
var testimonials= $('.testimonial');
for (var i = 0; i < testimonials.length; i++) {
// Using $() to re-wrap the element.
$(testimonials[i]).text('a');
}
其他回答
使用每个:'i'是数组中的位置,obj是你正在迭代的DOM对象(也可以通过jQuery包装器$(this)访问)。
$('.testimonial').each(function(i, obj) {
//test
});
查看api参考以获得更多信息。
现在不使用jQuery也能很简单地做到这一点。
没有jQuery:
只需选择元素并使用.forEach()方法遍历它们:
const elements = document.querySelectorAll('.testimonial');
Array.from(elements).forEach((element, index) => {
// conditional logic here.. access element
});
在旧的浏览器中:
var testimonials = document.querySelectorAll('.testimonial');
Array.prototype.forEach.call(testimonials, function(element, index) {
// conditional logic here.. access element
});
你可以使用.filter简单地做到这一点。下面的例子将隐藏所有包含单词"something"的. tribute div:
$(".testimonial").filter(function() {
return $(this).text().toLowerCase().indexOf("something") !== -1;
}).hide();
$('.testimonal').each(function(i,v){
if (condition) {
doSomething();
}
});
没有jQuery更新
document.querySelectorAll(“.testimonial”)。forEach(函数(元素,索引){ 元素。innerHTML = '感言' +(索引+ 1); }); < div class = "证明" > < / div > < div class = "证明" > < / div >