我有一个动态生成的表,它将具有ID。如果表有一个单选按钮,当我点击单选按钮时,我需要通过javascript获取父表的ID。我怎么能这样做?
答案 0 :(得分:7)
使用jQuery,您可以使用.closest()
或.parent()
(尽管父级只查找1级,而.closest()
上升直到找到某些内容)。我总是发现.closest()
更容易,更健壮,因为如果你更改标记(即你在<span>
或其他东西中包装东西)它会起作用。
无论如何,这是jQuery版本:
<input type="radio" onlick="var id = $(this).closest('table').attr('id');" />
如果您不使用库,您也可以使用JavaScript执行此操作。
JavaScript:
function findAncestorByTagName(start, tagName) {
if (tagName.toUpperCase() === start.nodeName.toUpperCase()) {
return start;
}
else if (start === document.body) {
return false;
}
else {
return findAncestorByTagName(start.parentNode, tagName);
}
}
您必须添加的onclick处理程序:
<input type="radio" onclick="var par = findAncestorByTagName(this, 'div'); if (par && par.id) { /* use par.id */ }" />
答案 1 :(得分:0)
使用JQuery可以通过element.parent()获取元素的Parent。因此,当您想要父母的id时,您可以编写element.parent()。attr(“id);