我想知道页面中有多少元素与" test"包含HTML" test123"。
$('.test').html('test123').length;
显然,这会将每个.test
- 元素的html设置为" test123"这不是我想要的......
解决方法可能类似于
var count = 0;
$('.test').each(function(){
if($(this).html() == 'test123'){
count++;
}
});
但是必须有比这更简单的东西吗?
答案 0 :(得分:4)
在jquery中使用:contains
$(".test:contains('test123')").length
答案 1 :(得分:3)
答案 2 :(得分:0)
您可以使用过滤器功能过滤具有特定条件的元素(例如在您的情况下具有html test123的元素):
var count = $('.test').filter(function(){
return $(this).html()=="test123";
}).length;
<强> Working Demo 强>
答案 3 :(得分:0)
这是要走的路:
var counter=0;
$('.test').each(function(){
if($(this).html()=='test123'){
counter++;
}
});