我想迭代div结构。实际上,我想要的是如果我有不同的具有相同类名的div结构,例如mod和我想检查其类名是title的内部div。它们之间的唯一区别是具有类名称标题的div的内容具有文本为hello1,而其他文件为hello2。
这是结构
<div class="mod" id="mod23" >
<div class="content" >
<div class="hd" >
<div class="title">Hello1</div>
<ul class="list"></ul>
<ul class="buttons">
<li class="help"></li>
<li class="show" ></li>
<li class="close"></li>
</ul>
</div>
</div>
</div>
<div class="mod" id="mod27" >
<div class="content" >
<div class="hd" >
<div class="title">Hello2</div>
<ul class="list"></ul>
<ul class="buttons">
<li class="help"></li>
<li class="show" ></li>
<li class="close"></li>
</ul>
</div>
</div>
</div>
以下是我试图提出的代码
$('div').each(function(index) {
if($(this).hasClass('title').text('Hello1')){
alert('found');
}
});
答案 0 :(得分:3)
您可以使用contains
选择器:
$('div.title:contains("Hello")').each(function(index) {
alert('found');
});
答案 1 :(得分:3)
var result = $('div.title').filter(function() {
return $(this).text() === "Hello1";
});
// Do something with result
或者您可以查看contains-selector,但这确实符合您查询的所有内容。
var result = $('div.title:contains(Hello1)')
要检查您是否匹配任何内容:
if ( result.length ) {
alert("found");
}
答案 2 :(得分:2)
$('div').each(function(index) {
if($(this).find('.title').first().text() == 'Hello1'){
alert('found');
}
});
可能会有更酷的方式
答案 3 :(得分:2)
请改为尝试:
<script>
$('div').each(function(index) {
if($(this).hasClass('title') && $(this).text() == 'Hello1'){
alert('found');
}
});
</script>
祝你好运!
答案 4 :(得分:2)
您可以使用CSS selector更直接地访问您感兴趣的div
:
$('.mod .title').each(function(i, e) {
if($(e).text() == 'Hello1') {
alert('found');
}
});?
答案 5 :(得分:1)
$('div').each(function (index) {
if ($(".title")) {
if ($(this).text('Hello1')) {
alert('found');
}
}
});