3

div を切り替えるための小さなマークアップ テストがありました。

(動作する) モックアップはここにあります: http://jsfiddle.net/obmerk99/d78aF/1/

問題は、次のように、非表示/表示リンクを別の div に配置する必要があることです。

http://jsfiddle.net/obmerk99/d78aF/2/

..そして、私がそれを動かすと、私のすべての努力に対してうまくいきません。

私が試してみました :

jQuery(this).next().next('.toggle').toggle('slow');

jQuery(this).next('.toggle').toggle('slow');

他にもたくさんありますが、それは試行錯誤にすぎません-一方、私はこの家族のことを理解したいと思っています(私が家族の人ではないことは、無意識のうちに私のコーディング能力に影響を与えていると思います:-) )

理解といえば、私の試行錯誤の1つで、私はこれを作りました:

http://jsfiddle.net/obmerk99/d78aF/5/

これは機能していませんが、小さなもの</br>を突然追加すると機能します。

http://jsfiddle.net/obmerk99/d78aF/4/

空の</br>タグは「兄弟」と見なされますか??

4

3 に答える 3

4

これを試してみてください:http://jsfiddle.net/d78aF/6/

jQuery(this).siblings('.toggle').toggle('slow');

あなたのコメントによると、次のようにすることができます:http://jsfiddle.net/d78aF/7/

jQuery(document).find('.toggle').toggle('slow');

新しいフィドル: http://jsfiddle.net/d78aF/8/

于 2013-02-11T08:38:53.607 に答える
1

空の</br>タグは「兄弟」と見なされますか??

自分で試してみませんか?

<div id='firstEl'></div>
<br/>
<div></div>

<div id='siblings'></div>

次に、js コードで次のようにします。

$(function(){
  $('#siblings').text($.makeArray($('#firstEl').siblings()).join(','));
});

結果:

[object HTMLBRElement],[object HTMLDivElement],[object HTMLDivElement]

<br/>要素が兄弟と見なされていることがわかります

http://jsfiddle.net/EP5bj/

http://api.jquery.com/siblings/

于 2013-02-11T08:37:15.883 に答える
0

HTML マークアップで非表示にする div を指定する、より的を絞ったアプローチを検討できます。これは、jQuery Mobile などの多くのパッケージで一般的な方法です。

http://jsfiddle.net/turiyag/R5sDr/

<p class="hider" for="banks">Hide the banks!</p>

$(".hider").click(function(e) {
    var id = $(this).attr("for");
    $("#" + id).hide("slow");
    log("Hiding #" + id);
});
于 2013-02-11T08:42:12.330 に答える