如何通过孩子的ID查找父母的ID

时间:2011-02-17 08:36:31

标签: javascript

我有一个动态生成的表,它将具有ID。如果表有一个单选按钮,当我点击单选按钮时,我需要通过javascript获取父表的ID。我怎么能这样做?

2 个答案:

答案 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);