6
私は、最初の例(div
のものを使用)が2番目のもの(span
のもの)を使用してテキストを取得しなかった理由がわかりません。同じJSコードでclosest()
を使用していることを達成できる:(div
年代を使用して)closest()メソッドが期待どおりに動作していない
$('.class-1').closest('div').find('.class-2').text()
まずスニペットはclosest()
を使用してテキストを取得カント:
console.log($('.class-1').closest('div').find('.class-2').text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div class="class-1">Div 1 Content</div>
<div class="class-2">Div 2 Content</div>
</div>
(span
年代を使用して)第スニペットclosest()
を使用してテキストを取得:
console.log($('.class-1').closest('div').find('.class-2').text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<span class="class-1">Div 1 Content</span>
<br/>
<span class="class-2">Div 2 Content</span>
</div>
私が返すことができる代替案parents()/parent()/siblings()/nextAll()
について知っていますclass-2
この場合はextですが、何が起こるのかを知りたいだけです。
'closest()'には現在の要素が含まれているため、 'closest( 'div')'は同じ要素を返しています。 http://api.jquery.com/closestを参照してください。 –