2013-08-06 52 views
1

我有html代碼:「其父母的哪個孩子是我?」在JQuery中

<div id="all"> 
    <div id="1"> 
     <div id="1-1"> 
     </div> 
     <div id="1-2"> 
     </div> 
    </div> 
    <div id="2"> 
     <div id="2-1"> 
     </div> 
    </div> 
</div> 

我在我的jQuery代碼的地方:

var obj = jQuery("#1-2"); 

我要檢查其他的父母的孩子(相對於他的父母)是obj(在這種情況下,它應該返回1作爲第二個索引)。

我已經試過(無結果):

alert(obj.index()); 
+0

都是經過元素已經被加載到DOM你檢查? –

+1

某些瀏覽器不適用於以數字開頭的HTML元素標識。我認爲它也不是有效的。 – putvande

回答

5

您的代碼返回正確的索引。我想你只需要在jquery ready中實現代碼。

​​

DEMO

+0

哦,我是多麼愚蠢。確實謝謝,猜不準這裏的問題:)人們在計算器 - 你是輝煌和有益的:) – PolGraphic

+0

@PolGraphic謝謝。樂於幫助。 – thecodeparadox

0

嘗試這個

var obj = jQuery("#1-2"); 
var parentId = obj.parent().attr('id'); 

FIDDLE

+0

我不想獲取父級的索引。我想知道它的父母是哪個孩子。對於「#1-1」它應該是0,對於「#1-2」1,對於「1」0,對於「2」1. – PolGraphic

0

試試這個

var $obj = $("#1-2"); 

// Need to check th index for this structure 

var $parent = $('div > div > div'); 
// You want to find the index of your selector 
// based on the selector that follows the above structure 

console.log($($parent).index($obj)) 

Check Fiddle

+0

op的代碼工作正常 - 它看起來像選擇器沒有返回任何元素,因此得到-1返回值,所以'1。它在元素存在於DOM或'2.'之前運行,選擇器是錯誤的 –

+0

This也適用。但問題還沒有準備好doc結構,就像codeparadox提到的那樣。 – PolGraphic