2012-07-06 24 views
1

我想遍歷div結構。實際上,我想要的是如果我具有不同的具有相同類名的div結構,例如MOD,我想檢查其名稱是標題的內部股利。它們之間的唯一區別是類名稱title的div的內容具有文本hello1和其他hello2。使用jquery訪問具有相同類名但使用不同測試的嵌套div

這裏是結構

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

你可以到一個元素給一個以上的類的名稱,只是用一個空格它們分開 – Ibu 2012-07-06 17:45:09

回答

2
$('div').each(function(index) { 
if($(this).find('.title').first().text() == 'Hello1'){ 
    alert('found'); 
    } 
}); 

有可能是冷卻器的方式雖然

2

試試這個:

<script> 
$('div').each(function(index) { 
if($(this).hasClass('title') && $(this).text() == 'Hello1'){ 
    alert('found'); 
    } 
}); 
</script> 

祝你好運!

2

你可以到div你是用CSS selector感興趣的更直接:

$('.mod .title').each(function(i, e) { 
    if($(e).text() == 'Hello1') { 
     alert('found'); 
    } 
});? 
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"); 
} 
1
$('div').each(function (index) { 
     if ($(".title")) { 
      if ($(this).text('Hello1')) { 
       alert('found'); 
      } 
     } 
    }); 
相關問題