2009-08-05 78 views
-1

我正在一個jQuery each迭代器的內部:比較DOM元素使用jQuery

$('p').each(function(){ ... });

我想創建一個評估爲真的表達式時:

  • $(this)是最後p元件
  • 範圍是$(this).parent()
  • $(this)必須是$(this).parent()
  • $(this)直接子不一定是$(this).parent()

最後直接孩子這裏有幾個場景,用星號標記所需p

<div> 
    <p>div1 p1</p> 
    <p>div1 p2</p> 
    <p>div1 p3***</p> 
</div> 

<div> 
    <p>div2 p1***</p> 
    <span>div2 s1</span> 
</div> 

<div> 
    <p>div3 p1***</p> 
    <div> 
    div3 d1 
    <p>div3 p2</p> 
    </div> 
</div> 

我我發佈了一個解決方案,但是失敗的人太多了。謝謝您的幫助。

回答

2

你可以使用一個選擇像這樣:

$('body > div').each(function() { 
    $(this).children('p:last').each(function() { /* ... */ }); 
}); 

這將返回所有您想要的<p>標籤。

以下是演示:http://jsbin.com/orage | See Source


你原來的要求沒有任何意義。

$(this)必須是$(this).parent()

$(this)直接孩子總是由什麼parent()做定義的$(this).parent()直接孩子。