【发布时间】:2011-06-04 03:02:18
【问题描述】:
我有这个代码:
<input type=radio name="vote_x" value="5">
<label for="vote_x">blabla</label><br>
如何获取 id 为 vote_x [使用 JS] 的收音机的标签值??
谢谢
【问题讨论】:
-
这是直接的 JS 还是 jQuery?
标签: javascript
我有这个代码:
<input type=radio name="vote_x" value="5">
<label for="vote_x">blabla</label><br>
如何获取 id 为 vote_x [使用 JS] 的收音机的标签值??
谢谢
【问题讨论】:
标签: javascript
如果你像这样在标签上放一个 id
<input type="radio" name="vote_x" value="5">
<label id="for_vote_x" for="vote_x">blabla</label>
然后你可以使用
var textinlabel = document.getElementById("for_vote_x").innerHTML;
已编辑:不使用标签元素的 id
var labelElements = document.getElementsByTagName("label");
for (var i = 0, var labelElement; labelElements[i]; i++) {
if (labelElement.getAttribute("for") == "vote_x") {
//this is the labelElement you want
//code goes here
}
}
理想情况下,您希望为此创建一个通用函数
function getlabelforinput(inputname) {
var labelElements = document.getElementsByTagName("label");
for (var i = 0, var labelElement; labelElements[i]; i++) {
if (labelElement.getAttribute("for") == inputname) {
return labelElement
}
}
return null;
}
【讨论】:
你可以试试这个
var el = document.getElementById("vote_x");
while(el.nextSibling && !(/label/i.test(el.nextSibling.tagName))){
el = el.nextSibling;
}
var text = el.nextSibling.innerHTML
你可以在这个fiddle查看。
【讨论】:
使用document.querySelector('label[for="INPUT_ID"]')获取给定id输入对应的标签元素。
例子:
const label = document.querySelector('label[for="vote_x"]');
console.log(label.textContent.trim());
<input type=radio name="vote_x" value="5">
<label for="vote_x">blabla</label>
【讨论】: