2011-01-25 7 views
0
내가 자바 스크립트

JQuery와 반복 처리 UL 리

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; 

<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> 

아래의 HTML 요소를 반복하려면 다음 코드를 사용하고

내에서하지만, 아이들의 일이다 작동하지 않음

오류 : 개체가이 속성을 지원하지 않습니다.

답변

1

마크 업이 예제와 동일합니까? 또는 중첩 정렬 가능한 ul-s가 두 개 이상 있습니까? 어쩌면 당신은 페이지에 ID를 중복 시켰습니다 (Id는 고유해야합니다).

+0

oryol 더 많은 중첩 정렬 가능 ul –

+1

이 경우 많은 항목에 동일한 ID를 할당하면 안됩니다. 예를 들어, 클래스를 사용하십시오. – oryol

+0

ok oryol 나는 시도하고 알려주지. –

0

alert(chele.attr('id')); 여기 chele은 DOM 개체 (jQuery 아님)이므로 attr 메서드가 없습니다. 그렇기 때문에 '객체가이 속성을 지원하지 않습니다 ...'