query index() メソッドを使用して、親に対する要素のインデックスを取得しています。
ここに 2 つのコードがあります: Code1
<div id="check1">
<p>
<span>
<b> Bold Line 1 </b>
<b> This is line2 </b>
</span>
</p>
<p> Should have index 1 </p>
</div>
コード 2
<div id="check2">
<p>
<span>
<b> Bold Line 1 </b>
**<p> This is line2 </p>** //replaced <b> with <p>
</span>
</p>
<p> Should have index 1 </p>
</div>
コード 2 では、2 番目の太字の名前を p タグ名に置き換えただけです。
疑わしい領域は、これらの両方のケースで答えが異なることです。答えは次のとおりです。
Case1: index comes 1
Case2: index comes 3
これをチェックしてください。「インデックス1が必要です」をクリックしてください http://jsfiddle.net/blunderboy/U73VV/
また、両方のチェックで「This is line2」をクリックすると、親が異なってきます。check1 では親は span であり、check2 では親は div です。
tagName を変更するだけでどのような違いが生じるか教えてください。親に対する相対的な位置は同じです。