2009-10-18 5 views
0

다음은 내 코드입니다. 콘텐츠에 따라 li 태그를 숨기고 싶습니다.예 : 문자열 비교

dom.find('ul#overlay_opt li').click(function(){ 
     if($(this).attr('class') != 'deactive'){ 
      var content = $(this).text(); 
      if(content == 'none') dom.find('#secondary_para').hide(); 
      else dom.find('#secondary_para').html($(this).text()).show(); 

     } 
}); 

내 HTML은

<ul id="overlay_opt"> 
     <li class="deactive">none</li> 
    <li>Requests</li> 
    <li>Impressions</li> 
    <li>Clicks</li> 
    <li>Earnings</li> 

</ul> 

문제, 즉 변수이고, 문자열 비교가 일어나고있다.

즉 false로 실행할 때마다 "if (content == 'none')"입니다.

+0

라이브 데모를 제공 할 수 있습니까? –

+0

콘텐츠에 경고()를하거나 파이어 버그와 같은 디버거로 해당 변수를 검사하면 어떻게됩니까? – BobbyShaftoe

+0

라이브 데모가 불가능합니다. 호스팅 공간을 소유하고 있지 않지만 스크린 샷을 제공 할 수 있습니다. 아래 링크가 있습니다. http://www.freeimagehosting.net/uploads/65dde35e6c.gif – vinay

답변

1
I added 'id' for none li, using id, i am hiding span. 

<ul id="overlay_opt"> 
     <li id="none">none</li> 
     <li class="deactive">Requests</li> 
     <li>Impressions</li> 
     <li>Clicks</li> 
     <li>Earnings</li> 

</ul> 

dom.find('ul#overlay_opt li').click(function(){ 
       if($(this).attr('class') != 'deactive'){ 
         var content = $(this).text(); 
         if($(this).attr('id') == 'none') dom.find('#secondary_para').hide(); 
         else dom.find('#secondary_para').html($(this).text()).show(); 

       } 
}); 
0

"if (content == 'none')"가 false를 반환하는 이유는 "none"이라는 텍스트가있는 유일한 "li"이 "비활성화"클래스를 가지고 있기 때문입니다. if 문을 블록하십시오.

나는 당신이 여기서 무엇을하려고하는지 잘 모르겠습니다. 더 자세히 설명해주십시오.

+0

고맙습니다. 여기는 스크린 샷입니다. http://www.freeimagehosting.net/uploads/65dde35e6c.gif 'li'을 클릭하면 해당 내용이 범위에서 업데이트되어야하며 (단지 스크린 샷 확인), 클래스가 '비활성' ',하지만'none '의 onclick, span 태그는 숨겨야합니다. 그래서 나는 li의 내용을 검사하여 span/hide span을 업데이트합니다. – vinay