我正在嘗試獲取其父項的子項索引。 例如: -如何使用javascript獲取html元素的子索引
<div>
<table>
<tr id="rahul">
<td> Hi this is ABC </td>
<td> Hi this is XYZ </td>
</tr>
</table>
</div>
而且我的Java腳本代碼是: -
<script>
$(document).ready(function() {
document.onmousedown = mouseDown;
function mouseDown(e) {
var element = document.elementFromPoint(e.clientX,e.clientY);
console.log("Clicked element is:" + element.tagName);
var i=1;
while (element.nextSibling != null) {
element = element.nextSibling;
console.log('Sibling No:' + (i++) + " " + element.tagName);
}
}
});
</script>
當我按照我的 「你好,這是ABC」 點擊,它應打印
Sibling No.1 TD
但實際上它是印刷
Clicked element is:TD jsoupTest.html:10
Sibling No:1 undefined jsoupTest.html:14
Sibling No:2 TD jsoupTest.html:14
Sibling No:3 undefined
爲什麼這會打印未定義爲TD的兄弟? 我的想法是找到單擊元素的兄弟姐妹的號碼,我可以找出其父母的孩子總數。因此,現在我可以通過從其父項的子項中減去同級項目的數目來找到所點擊元素的索引。
請告訴我是否有更好的選擇來獲得這個。
當你正在使用jQuery(我推斷這來自'$(document).ready(...)'),我已經爲您的問題添加了jQuery標籤 - 因爲它會顯着影響答案。 (例如:這是jQuery的一行,不包含多行) –
由於'td'元素節點之間(以及最後一個節點之後),你會得到'undefined',這裏有一個文本節點(包含空白字符)而文本節點沒有標籤名稱。使用'element.nodeName'代替,你會看到。 –
Thanks T.J.Crowder :) – sachinjain024