jQuery循环使用相同类的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery循环使用相同类的元素相关的知识,希望对你有一定的参考价值。

我有一个带有类testimonial的div的加载,我想使用jquery循环遍历它们以检查每个div,如果特定条件为真。如果是,它应该执行一个动作。

有谁知道我会怎么做?

答案

使用每个:'qazxsw poi'是数组中的位置,qazxsw poi是你正在迭代的DOM对象(也可以通过jQuery包装器i访问)。

obj

查看$(this)以获取更多信息。

另一答案

我可能会遗漏部分问题,但我相信你可以这样做:

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

没有jQuery更新

var testimonials= $('.testimonial');
for (var i = 0; i < testimonials.length; i++) {
  // Using $() to re-wrap the element.
  $(testimonials[i]).text('a');
}
$('.testimonial').each(function() {
    if(...Condition...) {
        ...Do Stuff...
    }
}
另一答案
document.querySelectorAll('.testimonial').forEach(function (element, index) {
    element.innerhtml = 'Testimonial ' + (index + 1);
});
另一答案

更确切:

<div class="testimonial"></div>
<div class="testimonial"></div>
另一答案

javascript ES6中使用$('.testimonal').each(function(i,v){ if (condition) { doSomething(); } });

$.each($('.testimonal'), function(index, value) { 
    console.log(index + ':' + value); 
});

spread ... operator给出的阵列式集合中

[...document.querySelectorAll('.testimonial')].forEach( el => {
    el.style.color = 'red';
});
Element.querySelectorAll()
另一答案

试试这个...

$('.testimonial').each(function(i, obj) {
    //test
});
另一答案

这些天没有jQuery这样做很简单。

没有jQuery:

只需选择元素并使用api reference迭代它们:

$('.testimonial').each(function(){
    //if statement here 
    // use $(this) to reference the current div in the loop
    //you can try something like...


    if(condition){

    }


 });
另一答案

试试这个例子

HTML

.forEach() method

当我们想要访问那些var testimonials = document.querySelectorAll('.testimonial'); Array.prototype.forEach.call(testimonials, function(elements, index) { // conditional here.. access elements }); 大于<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时,我们需要这个jquery。

data-index

2

另一答案

你可以这样做

$('div[class="testimonial"]').each(function(index,item){
    if(parseInt($(item).data('index'))>2){
        $(item).html('Testimonial '+(index+1)+' by each loop');
    }
});
另一答案
Working example fiddle
另一答案

$('.testimonial').each(function(index, obj){ //you can use this to access the current item }); 可以帮助您使用索引方法遍历元素。

divs  = $('.testimonial')
for(ind in divs){
  div = divs[ind];
  //do whatever you want
}
另一答案

你可以使用jQuery's .eq()简洁地做到这一点。以下示例将隐藏包含单词“something”的所有.testimonial div:

var testimonialElements = $(".testimonial");
for(var i=0; i<testimonialElements.length; i++){
    var element = testimonialElements.eq(i);
    //do something with element
}
另一答案

使用简单的for循环:

.filter

以上是关于jQuery循环使用相同类的元素的主要内容,如果未能解决你的问题,请参考以下文章

JQuery单击以使用陷入循环的数组来识别元素

jQuery选择具有相同类的随机元素

在jquery中计算具有相同类的元素的数量

Jquery,在具有相同类的所有锚点之后选择第一个下一个元素

使用 jQuery 循环遍历元素

使用 jQuery each() 函数循环遍历类名元素