0

条件付きサブ選択で選択しました。これにより、選択したサブ選択がdivとして表示されます。ただし、各divのクラス名は同じであり、変更することはできません。同一の各div内のdivは、一意のIDを持つことができます。他のすべてのdivを非表示にしながら、選択したコンテンツを表示するにはどうすればよいですか?この説明はおそらく意味がありません-ここでjsFiddleを参照してください。

<div class="container">
<div id="two" class="phone">Content one</div>
</div>

<div class="container">
<div id="one" class="phone">Content two</div>
</div>

選択されていないdivのコンテンツは非表示にできますが、クラス名が.containerの外部divは非表示にできません。表示したいdivのクラス名も.containerです。

これを回避する方法は?

4

1 に答える 1

2

基本 DOM: DOM ツリーのすべての要素には親ノードがあります。ノードの親を非表示にしoneたい場合は、次のようにします。

$('#one').parent().hide();

これは、ノードdiv.containerを含む に適用されます。one親ノードのレイヤーが複数ある場合は、トラバースする必要があります。

<div class="container">
   <div>
      <div>
         <div id="one">...</div>
 etc...

次に$('#one').parent('.container')、すべての親ノードを検索して一致するノードを見つけ、同じことを達成します。

于 2012-10-29T14:36:26.263 に答える