我有一个div与类的证明,我想用jquery循环通过他们检查每个div如果一个特定的条件是真的负载。如果为真,它应该执行一个操作。

有人知道我会怎么做吗?


当前回答

JavaScript ES6 .forEach() 通过Element.querySelectorAll()给出的类似数组的NodeList集合

document.querySelectorAll(“.testimonial”)。forEach((el, idx) => { El.style.color = "红色"; console.log(' ${idx}元素${el. log。tagName}, ID为#${el。Id}表示:${el。textContent}’); }); <p class="证言" id="1">这是一些文本</p> <div class="证物" id="2">Lorem ipsum</div>

其他回答

我可能忽略了部分问题,但我相信你可以简单地这样做:

$('.testimonial').each((index, element) => {
    if (/* Condition */) {
        // Do Something
    }
});

这使用jQuery的每个方法:https://learn.jquery.com/using-jquery-core/iterating/

$('.testimonal').each(function(i,v){
  if (condition) {
    doSomething();
  }
});

现在不使用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
});

你可以这样做

$('.testimonial').each(function(index, obj){
    //you can use this to access the current item
});

你可以使用.filter简单地做到这一点。下面的例子将隐藏所有包含单词"something"的. tribute div:

$(".testimonial").filter(function() {
    return $(this).text().toLowerCase().indexOf("something") !== -1;
}).hide();