2013-01-03 47 views
0

HTML元素上:我如何可以篩選必須有不止一個類

<div class="scrollBlock" tabIndex="4"> 
     <ul id="dropdown-reg-phone-type"> 
      <li> 
       <div class="header tzSelected">Home</div> 
       <div class="optkey">0</div> 
      </li> 
      <li> 
       <div class="header">Work</div> 
       <div class="optkey">1</div> 
      </li> 
      <li> 
       <div class="header">Cell</div> 
       <div class="optkey">2</div> 
      </li> 
     </ul> 
    </div> 

的jQuery:

var $listItems = $('li'); 


var $selected = $listItems.filter('div.header.tzSelected'), 
console.dir($selected); 

if (!$selected.length) { 
    console.log("selected doesn't exist"); 
} 

這將返回「選擇不存在」,即使有一具有.tzSelected類的div。我猜測過濾器設置不正確,但無法弄清楚原因。 $listItems是正確的;然後從那裏我需要找到同時具有headertzSelected類的div

的console.dir線示出了該: enter image description here

回答

1

.filter()上內$listItemsli元件,而不是由在其內部的元素直接操作。如果你想選擇他們的後代,你需要使用.find()代替:

var $selected = $listItems.find('div.header.tzSelected') 
0

爲您的特定情況下,你應該能夠做到這一點完全使用選擇本身:

var $selected = $('li div.header.tzSelected'); 
相關問題