$(this).index()返回的是該節點在兄弟節點中排行第幾,從0開始計數
注意是同一父級元素的兄弟節點!!!不能跨級!!!
如:
<tr id="lesson12">
<td>1<br>2</td>
<td class="am_text_middle"><span class="time_check12">0</span></td>
<td class="am_text_middle"><span class="time_check12">1</span></td>
<td class="am_text_middle"><span class="time_check12">2</span></td>
<td class="am_text_middle"><span class="time_check12">3</span></td>
<td class="am_text_middle"><span class="time_check12">4</span></td>
</tr>
$(".time_check12").click(function(){
console.log($(this).index());
})
無論點擊以上的哪個span內的元素,控制檯打印出來的都是 0
因爲在span的父級td下就一個span元素
我最開始錯誤的想法是:該方法是根據class屬性名來確定當前元素的index位置的,換句話說就是有同樣的class屬性名的節點,無論它是否是兄弟節點,是否有同一個父級,我都從開始往後數它是第幾個有這個class屬性名的節點那麼它的index位置就是相應的值
$(".am_text_middle").click(function(){
console.log($(this).index());
})
點擊第一個class屬性爲am_text_middle的元素,控制檯打印出來的值爲
1
該元素在td節點內,並且該元素所屬的這個td節點在其兄弟節點td中它是排行第2個,所以它的index值就該是1
一開始我非常不明白爲什麼會是1,不應該是0麼,此時我的思想還是根據class屬性名來確定當前元素的index位置的