2009-09-02 3 views

답변

1

당신은 할 수 있어야 :

var listItem = $('ul.selectedItems li#' + opt.list[i].ID); 

내가 행운과 함께 다음과 같은 방법을 사용하려고 :

내가는 UL CSS의 클래스를 사용하여 작동하게하는 방법의 예입니다

var listItem = $('#' + opt.name + ' > li#' + opt.list[i].ID); 

li 요소를 선택해야합니다. 첫 번째의 dren.

여기에 문서를 참조하십시오 : jQuery Selectors: Parent/Child.

+0

나는 그 행운을 시험해 보았지만 $ ('#'+ opt.name + '> li [id $ ='+ opt.list [i] .ID + ']')는 속임수를 사용했다. 고맙습니다! –

4

ID를 사용할 때 복잡한 선택기/조회가 필요하지 않습니다. 요소 ID가 전체 문서에서 고유해야하므로 요소를 찾는 것은 간단 같은

var listItem = $("#" + opt.list[i].ID); 

그 나는 그들이 고유 귀하의 ID를 고치보다는 함께 문제를 해결 작업을 제안 작동하지 않는 경우 불필요하게 복잡한 CSS 선택자.

+0

+1 - "Element ID가 유일해야합니다"라고 굵게 표시하면 +2를 부여하려고합니다. – kdgregory

+0

다른 사람의 코드를 사용하지 않는 완벽한 세상에서 : 당신 말이 맞습니다. 하지만, 정렬되지 않은 목록을 사용하여 서버 쪽 콤보 상자를 에뮬레이션하는 코드 작업 중입니다. 리스트 엘리먼트는 데이터 소스로부터 dinamically 생성되므로, 두 개의 서버 컨트롤이 동일한 데이터 소스를 가질 때 ul 출력은 항상 동일합니다. ul 아이디는 제어 할 수 있지만 li 요소는 제어 할 수 없습니다. 선택은 컨트롤 독립적이어야하므로이 복잡한 선택기를 사용할 수 있어야합니다. –

관련 문제