在jQuery函数中,我需要遍历几个具有相同类的HTML元素,并将特定字符串与每次迭代中这些元素的内容进行比较。
任何人都可以给我一些提示吗?
答案 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 ');
}
});