2011-01-25 91 views
0

我用下面的代碼迭代以下jQuery的李

<ul id="sortable"> 
<li> 
<p> item 1</p> 
<ul id="nested-sortable"> 
    <li> 
    Sub item 1 
    </li> 
    <li> 
    Sub item 2 
    </li> 
    <li> 
    Sub item 3 
    </li> 
</ul> 
</li> 
<li> 
<p> item 2</p> 
</li> 
</ul> 

給了JavaScript

var jsonSeqObj = {}; 
alert('hi'); 
$('ul#sortable li').each(function(index,pele) { 
    alert($(pele).attr('id')); 
    $(pele).children('ul#nested-sortable li').each(function(idx, chele) { 
    alert(chele.attr('id')); 
    jsonSeqObj.push({REF_ID:$(chele).attr('id') , NEW_SEQ_NO:idx }); 
}); 
jsonSeqObj.push({REF_ID:$(pele).attr('id') , NEW_SEQ_NO:index }); 
}); 

li ul li is too long, line wraps but no indention

alert(jsonSeqObj); 
return jsonSeqObj; 

的HTML元素中迭代UL但孩子的事情是不起作用

錯誤:對象不支持此屬性。

回答

1

您的標記與示例中的標記相同嗎?或者你有多個嵌套可排序的ul-s?也許問題是您在頁面上有重複的ID(Id應該是唯一的)。

+0

oryol我有更多的嵌套排序ul – 2011-01-25 15:03:32

0

alert(chele.attr('id')); 但這裏的chele是DOM對象(不是jQuery),所以它沒有attr方法。這就是爲什麼你越來越'對象不支持這個屬性''