我正在 IE 7 中完成我的项目,我想知道如何在单击文本输入前面的标签时获取文本输入的值。
这是我的 DOM:
<table>
<tr>
<td>
<label id="lbl_name">Name:</label>
</td>
<td>
<input type="text" id="name" />
</td>
</tr>
</table>
我尝试使用 nextSibling 但我得到的是空白值。
document.getElementById('lbl_name').attachEvent('onclick', function () {
alert(document.activeElement.nextSibling.nodeValue);
});
请问有什么帮助吗?如果你能以非 jquery 的方式分享你的代码。谢谢
最佳答案
输入不是标签的同级。要使用该方法,您需要:
- 获取父节点(td)
- 获取该节点的下一个兄弟节点
- 获取该节点的第一个输入后代
但是,标签目前没有用,因为它根本与输入无关。如果您修复标记:
<label id="lbl_name" for="name">Name:</label>
你可以:
document.getElementById( this.getAttribute('for') ).value
关于javascript - 如何获取下一个文本输入的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20060030/