0

高さを取得する必要があるdivがあります。それはdivの中にあり、その中にいくつかのdivがあります。それらは両方とも同様のdiv構造内にあります。私は自分の問題とこれまでの問題を説明するためにjsフィドルを作成しました。http://jsfiddle.net/K3dx5/

したがって、基本的に、リンクがクリックされたときの最初のdivの高さ(400px)と、2番目のリンク(200px)を取得する必要があります。

<div class="wrapper">
    <div class="one">  <!--I need to get the height of this div -->
    <div class="NotThisone">
       <div class="No">
    <a class="anchor">ONE</a>
        </div>
    </div>
</div>
<div class="two"> <!--I need to get the height of this div -->
    <div class="NotThistwo">
        <div class="No">
    <a class="anchor">TWO</a>
        </div>
    </div>    
</div>

</ p>

ありがとうございました

4

4 に答える 4

1

closest()セレクターを使用してメソッドを使用することをお勧めします。

$('.anchor').click(function() {
    var height = $(this).closest('.wrapper > div[class]').height();
    console.log(height);
});​

JS Fiddle デモを更新しました

参考文献:

  • closest().
于 2012-09-26T15:27:09.557 に答える
0

セレクターが間違っています。

var x = $(this).parent().parent().parent().css('height');

問題のdivはアンカーから3レベル上にあるため、3つのparent()メソッドを使用する必要があります。

または、別のセレクターを使用することもできます。

于 2012-09-26T15:28:42.350 に答える
0

フィドルの問題は、直接の親を選択していることですが、その間、必要な div はさらに 2 レベル高くなります。その選択をこれに切り替えると、仕事ができます。

var x = $(this).parent().parent().parent().css('height');

これは少し面倒で信頼性が低いように見えます (HTML を変更してアンカー タグの周りにさらに div を追加すると、javascript は間違った div を再び選択します)。特定の親を選択します。したがって、「parentNeeded」というクラスをdiv「one」と「two」に追加したとしましょう。その後、次のステートメントを使用できます

var x = $(this).parents(".parentNeeded").css('height');

これは、このフィドル http://jsfiddle.net/K3dx5/5/で確認できます

于 2012-09-26T15:31:33.470 に答える
0

最初に、使用

var x = $(this).closest('.one').height();

2番目に、使用します

var x = $(this).closest('.two').height();
于 2012-09-26T15:26:53.663 に答える