我了解到你可以使用这个来获取触发javascript函数调用的srcElement的parentElement:
function selectThis() {
var cbID = event.srcElement.id;
var lblID = event.srcElement.parentElement.parentElement.id;
}
其中元素嵌套如下:
<asp:Label ID="lbl1" runat="server" >
<asp:CheckBox ID="cb1" runat="server" onClick="selectThis()"/>
</asp:Label>
<asp:TextBox ID="txtbx1" runat="server" MaxLength="75"></asp:TextBox>
但是有没有办法让标签下面的文本框的ID?是否存在“neighbourElement”类型的东西?
答案 0 :(得分:1)
如果我理解你,请尝试.NextSibling。 顺便说一下,我建议你使用jquery来做这种事情
答案 1 :(得分:0)
event.srcElement.parentElement.parentElement.nextElementSibling
您可能需要再添加一个.parentElement(或少1个),但这将直接返回父元素之后的元素。
答案 2 :(得分:0)
我为你做了一个JSFiddle - 使用类似的标记。 https://jsfiddle.net/iamjpg/x1uqes9p/
var cb = document.querySelector('#checkbox1');
cb.onchange = function(e) {
e.target.parentElement.nextElementSibling.value = "Woot"
}
在此示例中,当您选中复选框时,它会使用e.target.parentElement.nextElementSibling
来设置textarea上的值。