2013-10-17 4 views
0

중첩되지 않은 목록의 특정 선택자를 알아내는 데 문제가 있습니다. jquery 중첩 목록, 모든 li 선택 ul

은 내가 JQuery와에 새로 온 사람과 도움을 주셔서 감사 것 UL

다음 경우에만 모든 리튬에 추가하기 위해 노력하고있어.

나는 href 태그를 찾고 있기 때문에 아마도이 테스트를 거쳤습니다.

$("#sidebar ul").each(function() 
{ 
if($(this).has("ul li").next('ul').length) 
{ 
$(this).find('a').before("<span class='my_span'></span>"); 
} 
}) 

예상 출력 http://jsfiddle.net/7JdEh/

UL

다음에 어떤 리튬에 스팬 (클래스 "필요")를 추가 여기에 가격 인하합니다.

<div id="sidebar"> 
    <ul> 
    <li id="pagenav"> 
    <h2>Pages</h2> 
    <ul> 
     <li class="page_item"> 
      <a href="http://www.examplesite.com/wordpress/?page_id=2" 
       title="About Us">About Us</a> 
     </li> 
     <li class="page_item"> 
      <a href="http://www.examplesite.com/wordpress/?page_id=4" 
       title="Contact">Contact</a> 
     </li> 
     <li class="page_item"> 
      <a href="http://www.examplesite.com/wordpress/?page_id=8" 
       title="Site Map">Site Map</a> 
     </li> 
    </ul> 
    </li> 
    <li> 
    <h2>Archives</h2> 
    <ul> 
     <li><a href='http://www.examplesite.com/wordpress/?m=200502' 
      title='February 2005'>February 2005</a></li> 
     <li><a href='http://www.examplesite.com/wordpress/?m=200501' 
      title='January 2005'>January 2005</a></li> 
     <li><a href='http://www.examplesite.com/wordpress/?m=200412' 
      title='December 2004'>December 2004</a></li> 
      <li> 
     <ul> 
      <li><a href="http://www.examplesite.com/wordpress/?cat=47" 
       title="Stories of our life">Stories</a></li> 
      <li><a href="http://www.examplesite.com/wordpress/?cat=48" 
       title="Computer Tips">Computer Tips</a></li> 
      <li><a href="http://www.examplesite.com/wordpress/?cat=6" 
       title="WordPress Tips">WordPress Tips</a></li> 
      <li><a href="http://www.examplesite.com/wordpress/?cat=28" 
       title="Web Page Design Advice">Web Page Design</a></li> 
     </ul> 
     </li> 
     <li><a href='http://www.examplesite.com/wordpress/?m=200411' 
      title='November 2004'>November 2004</a></li> 
    </ul> 
    </li> 
    <li> 
    <h2>Categories</h2> 
    <ul> 
     <li><a href="http://www.examplesite.com/wordpress/?cat=47" 
      title="Stories of our life">Stories</a></li> 
     <li><a href="http://www.examplesite.com/wordpress/?cat=48" 
      title="Computer Tips">Computer Tips</a></li> 
     <li><a href="http://www.examplesite.com/wordpress/?cat=6" 
      title="WordPress Tips">WordPress Tips</a></li> 
      <li> 
     <ul> 
      <li><a href="http://www.examplesite.com/wordpress/?cat=47" 
       title="Stories of our life">Stories</a></li> 
      <li><a href="http://www.examplesite.com/wordpress/?cat=48" 
       title="Computer Tips">Computer Tips</a></li> 
      <li><a href="http://www.examplesite.com/wordpress/?cat=6" 
       title="WordPress Tips">WordPress Tips</a></li> 
      <li><a href="http://www.examplesite.com/wordpress/?cat=28" 
       title="Web Page Design Advice">Web Page Design</a></li> 
     </ul> 
     </li> 
     <li><a href="http://www.examplesite.com/wordpress/?cat=28" 
      title="Web Page Design Advice">Web Page Design</a></li> 
    </ul> 
    </li> 
    </ul> 
    </div> 

감사

+1

당신은 http://jsfiddle.net/arunpjohny/VqY3e/1/ –

+0

별로, 더 http://jsfiddle.net/7JdEh/ – user1993639

+0

같은 다른 내부에'ul' 직접 배치'UL과 같은 의미 '은 (는) 잘못된 HTML입니다. '리'가 필요합니다. – michaelb958

답변

0

이 두 작업을 수행해야합니다.

$("ul > li"), and or just $("li"). 

Could also do $('ul').find('li').each(function(){ 
    //code here 
}); 
+0

을 고정하면 li 다음을 선택할 것입니다. – user1993639