使用jquery访问具有相同类名但不同测试的嵌套div

时间:2012-07-06 17:41:24

标签: javascript jquery html

我想迭代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');
    }
});

6 个答案:

答案 0 :(得分:3)

您可以使用contains选择器:

$('div.title:contains("Hello")').each(function(index) {
    alert('found');
});

http://jsbin.com/atayeb/2/

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