2014-04-16 169 views
0

結束的最後一個元素,如果我有這樣的結構:的jQuery得到一棵樹

<div> 
    <div> 
    <div>blah 
    </div> 
    </div> 
</div> 


<div> 
    <div> 
    <div> 
     <div>blah 
     </div> 
    </div> 
    </div> 
</div> 

有jQuery的目標最深的元素(其中無聊症所在地)?

+0

'$( 'DIV:包含(廢話)')'的 – adeneo

+0

可能重複[?我該如何選擇最裏面的元素(http://stackoverflow.com/questions/4188933/how-do -i-select-the-mostmost-element) – Wilmer

回答

1
$('div').each(function() { 
    if ($(this).children().length == 0) { 
     //do something 
    } 
}) 
0

遞歸的jQuery的位:

$(document).ready(function(){ 
    alert(deepest($("div:first")).html()); 

    function deepest(f){ 
     if(f.find("div").length)return deepest(f.find("div")); 
     else return f; 
    } 
}); 

獲取第一個DIV與沒有孩子從你傳給最深的

01開始

JSFiddle

+0

有趣的概念,但是你的實現將不起作用,因爲'f.find(「div」)'總是爲true,因爲它只是一個jQuery對象,它中的任何DOM元素或不是。你可以檢查'.length'來查看jQuery對象是否爲空。 – jfriend00

+0

http://jsfiddle.net/9cBNL/ – patrick

+0

我所做的只是添加更多的文字到您的HTML:http://jsfiddle.net/jfriend00/9cBNL/2/。這個邏輯'if(f.find(「div」))'根本不會做你想做的事情。 – jfriend00