-1

内容のあるDivがあります

<div id="dv">

<ul><li><a class="html">abcd</a></li></ul>

<ul><li><a class="bold">cdef</a></li></ul>

<ul><li><a class="bold">xyz</a></li></ul>

</div>

2番目と3番目のulを動的に表示したい。どうやってやるの ?

4

8 に答える 8

4

divのすべての子を見つけて非表示にし、withクラスulを含むものを見つけて次のことを示すことができます。li"html"ul

$("#dv").children('ul').hide().find('li.html').closest('ul').show();

実例| ソース

それは何をしますか:

于 2013-02-05T09:37:43.040 に答える
1

私が考えることができる最も簡単なのはこれです

$("#dv li a:not(.html)").parent().hide();

編集:@ByScriptsはのclosest()代わりに使用することを提案しましたparent()

$("#dv li a:not(.html)").closest("ul").hide();
于 2013-02-05T09:42:55.893 に答える
1

以下でご利用いただけますjQuery

$("#dv ul:nth-child(2),#dv ul:nth-child(3)").hide()
于 2013-02-05T09:40:56.957 に答える
0

これは、あなたの望むことですか?

$("#dv ul").hide(); // hide all divs
$("#dv a.html").closest("ul").show(); // show the div that contains a.html
于 2013-02-05T09:37:24.070 に答える
0

最初のul以外のすべてのulを表示したくない場合は、次のコードを試してください。

$("#dv ul").css('display','none');
if($("#dv ul").hasClass('html')){
$(".html").closest('ul').('display','block');
 }
于 2013-02-05T09:38:57.970 に答える
0

要件が2番目と3番目を非表示にすることである場合は、スライスを使用することをお勧めしますul

$('#dv ul').slice(1).hide();
于 2013-02-05T09:39:18.623 に答える
0

<li>私が理解した限りでは、 with aクラス'html'を削除したいと思います。以下はコードです

$("#div ul li a.html").hide(function(){
    $(this).parent().hide();    
});
于 2013-02-05T09:42:07.703 に答える
0

xFortyFourxの回答に基づく:

$("#dv a:not(.html)").closest('ul').hide();

編集:多くの参加者がタイトルを読んでいないと思います。OPは要素<ul>に応じて非表示にしたいと考えています。解決策ではありません;)class="html"<a>slice()

于 2013-02-05T09:48:25.213 に答える