선택자의 일부로 두 요소의 id 특성을 사용하여 정렬되지 않은 목록에서 li 항목을 얻고 싶습니다.ul 및 li id를 사용하여 순서가 지정되지 않은 목록에서 li 선택
var listItem = $("#" + opt.name).childs.find("#" + opt.list[i].ID)
선택자의 일부로 두 요소의 id 특성을 사용하여 정렬되지 않은 목록에서 li 항목을 얻고 싶습니다.ul 및 li id를 사용하여 순서가 지정되지 않은 목록에서 li 선택
var listItem = $("#" + opt.name).childs.find("#" + opt.list[i].ID)
당신은 할 수 있어야 :
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.
ID를 사용할 때 복잡한 선택기/조회가 필요하지 않습니다. 요소 ID가 전체 문서에서 고유해야하므로 요소를 찾는 것은 간단 같은
var listItem = $("#" + opt.list[i].ID);
그 나는 그들이 고유 귀하의 ID를 고치보다는 함께 문제를 해결 작업을 제안 작동하지 않는 경우 불필요하게 복잡한 CSS 선택자.
+1 - "Element ID가 유일해야합니다"라고 굵게 표시하면 +2를 부여하려고합니다. – kdgregory
다른 사람의 코드를 사용하지 않는 완벽한 세상에서 : 당신 말이 맞습니다. 하지만, 정렬되지 않은 목록을 사용하여 서버 쪽 콤보 상자를 에뮬레이션하는 코드 작업 중입니다. 리스트 엘리먼트는 데이터 소스로부터 dinamically 생성되므로, 두 개의 서버 컨트롤이 동일한 데이터 소스를 가질 때 ul 출력은 항상 동일합니다. ul 아이디는 제어 할 수 있지만 li 요소는 제어 할 수 없습니다. 선택은 컨트롤 독립적이어야하므로이 복잡한 선택기를 사용할 수 있어야합니다. –
나는 그 행운을 시험해 보았지만 $ ('#'+ opt.name + '> li [id $ ='+ opt.list [i] .ID + ']')는 속임수를 사용했다. 고맙습니다! –