0

これから私を助けてください...

<li id="4331">Region
      <ul>
         <li id="4332">Asia</li>
         <li id="6621">Europe</li>
      </ul>
</li>

地域をクリックした場合のクエリは次
のとおりです。ulの親は
アジアとヨーロッパのみを表示し、クリックすると地域を非表示にします(親)

i am using the .hide() method

これが私がこれまでにしたことです:

$(document).ready(function() {
    $("li").live("click", function(event) {
        $("li").hide(); 
        event.cancelBubble = true;
        loadChild($(this).attr("id"), event);
        return false;
    })
});

私の現在の出力は次のとおりです。

<li id="4331" style="display: none;">
Region
   <ul>
      <li id="4332">Asia</li>
      <li id="6621">Europe</li>
   </ul>
</li>

それはすべてを隠します...

しかし、親の地域だけを非表示にしたいのですが
、それをクリックして地域を非表示にし、アジアとヨーロッパのみを表示できるようにしたいのです。 このおかげで
私を助けてください。

4

4 に答える 4

3

$("li")liクリックした要素だけでなく、ページのすべての要素のコレクションです。

交換

$("li").hide();

$(this).parent().closest("li").hide();
于 2013-01-31T13:28:46.730 に答える
2

DOM を変更する必要があります。テキスト "Region" は ul の親ではなく、兄弟です。

<li id="4331">
      <span class="region">Region</span>
      <ul>
         <li id="4332">Asia</li>
         <li id="6621">Europe</li>
      </ul>
</li>

jquery (ライブは非推奨、「on」を使用)

$(document).ready(function() {
    $("li").on("click", function(event) {
        $(this).find('.region').hide(); 
        loadChild($(this).attr("id"), event);
        return false;
    })
});
于 2013-01-31T13:33:15.427 に答える
0

この回答は非常に役立つことがわかりました。

$('#4331').css('position','relative').css('left','-9999px');

$('#4331>ul').css('position','relative').css('left','9999px')
于 2014-07-24T18:13:42.083 に答える