jQuery循环遍历带有公共类的HTML元素,并比较字符串给出的内容

时间:2013-10-29 09:08:41

标签: jquery html class string-comparison

在jQuery函数中,我需要遍历几个具有相同类的HTML元素,并将特定字符串与每次迭代中这些元素的内容进行比较。

任何人都可以给我一些提示吗?

4 个答案:

答案 0 :(得分:4)

试试这个:

$.each($('.your-class-name'), function() {
      if($(this).text() == 'your-text')
               console.log('yes');
      else
               console.log('no');
});

答案 1 :(得分:1)

您可以通过以下代码来实现。

<script type="text/javascript">
$(function() {
    var foundin = $('.yourclass:contains("I am a simple string")');
});
</script>

创建将是一个包含任何匹配元素的jQuery对象。请参阅以下网址上的API信息:http://docs.jquery.com/Selectors/contains#text

答案 2 :(得分:0)

您可以使用.each()函数执行此操作。查看官方文档: http://api.jquery.com/each/

  

.each()方法旨在使DOM循环结构简洁   并且不易出错。调用时,它遍历DOM元素   这是jQuery对象的一部分。每次回调运行时,它都是   从0开始传递当前循环迭代。更重要的是,   回调是在当前DOM元素的上下文中触发的,所以   关键字this指的是元素。

// Loop through each item
$('.yourclass').each(function(index) {
     // Make your comparison
     console.log( index + ": " + $( this ).text() );
});

答案 3 :(得分:0)

这是您的演示JS FIDDLE ,请查看。

HTML:

<div class="my_class">This is div 1</div>
<div class="my_class">This is div 2</div>
<div class="my_class">This is div 3</div>
<div class="my_class">This is div 4</div>

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 ');   
    }

});