2014-12-21 2 views
-1

를 선택할 수 없음이 선택이 작동합니다변수로 jQuery 선택기. 적절한 요소를

$('#nav ul li li').append('<span></span>'); 

을 그리고, 나는 $mainNav#nav을 할당하고 난

$mainNav.children("ul").children("li").children("li").append('<span></span>');

을 쓴하지만이 작동하지 않습니다. console.log($mainNav) 출력 Object[nav#nav].

+0

HTML 결과를 보려면 DOM에 추가하십시오. 그렇지 않다면 'console.log ($ mainNav.html())' – BeNdErR

답변

0

는 해결 시합.

당신은 누락 된 수준 추가 할 수 있습니다

$mainNav.children("ul").children("li").children("ul").children("li").append('<span></span>'); 

또는 자녀에게 > 선택기를 사용하여 하나의 선택으로 변환 :

$mainNav.find('ul > li > ul > li').append('<span></span>'); 

당신은 그것을 당신이 그것을 해결 한 방법을 단지 수 ($mainNav.find('ul li li'))와 동일하지만 다음과 같습니다.

$mainNav.find("ul").find("li").find("li").append('<span></span>'); 

당신이 상상할 수있는대로 약간 느립니다.

0

$mainNav은 jQuery 개체 여야합니다. 그렇지 않은 경우 jQuery API를 사용할 수 없습니다.

$mainNav.find('ul li li').append('<span></span>'); 
+0

은 이미 객체입니다. 의견을 주셔서 감사합니다. – RhymeGuy

0

문제는, 당신의 "코드"버전으로, 당신은 children("li").children("li")을 가지고 있지만 LI s는 찾을 수 없을와 너무 $mainNav.children("ul").children("li").children("li"), 다른 LI의 직계 후손 결코 :

$mainNav = $($mainNav);