Javascript:获取带有特定“”的单选按钮标签;对于“;标签中
Javascript: get radiobutton label with a specific "for" in label
我有一个这样的表单元素:
<div id="myformelement">
<input type="radio" id="option1">
<label for="option2">Option 1</label>
<input type="radio" id="option2">
<label for="option2">Option 2</label>
<input type="radio" id="option3">
<label for="option3">Option 3</label>
<input type="radio" id="option4">
<label for="option4">Option 4</label>
</div>
我想隐藏输入字段"option2"answers"option3"及其标签。
我可以通过寻址id来隐藏输入项目符号。不幸的是,输入字段的相应标签只有一个带有id的"for"标签。
我如何使用javascript(没有jquery)来做到这一点。
我发现了这个问题(查找与给定输入关联的html标签),但这似乎只适用于ID中的一个标签,我不能使用它。
提前感谢!谨致问候,麦芽
在纯JavaScript中,您可以使用querySelector
:
document.querySelector("label[for='option2']").style.display = "none";
您可以使用nextSibling
:
var rdo = document.getElementById("option2");
var lbl;
rdo.style.display = "none";
for (lbl = rdo.nextSibling; lbl && lbl.nodeName.toUpperCase() !== "LABEL"; lbl = lbl.nextSibling) {
}
if (lbl) {
lbl.style.display = "none";
}
但我有一个更好的选择:label
元素可以包含与其相关的input
,这似乎是一个保守得很好的秘密,当它们这样做时,根本不需要for
。因此,如果您将HTML更改为:
<div id="myformelement">
<label><input type="radio" id="option1"> Option 1</label>
<label><input type="radio" id="option2"> Option 2</label>
<label><input type="radio" id="option3"> Option 3</label>
<label><input type="radio" id="option4"> Option 4</label>
</div>
它变得很多更容易:
document.getElementById("option2").parentNode.style.display = "none";
您只需找到input
,遍历到它的父级label
,然后隐藏它(这也将隐藏input
)。
相关文章:
- 从模板标签获取html
- 如何从给定的用户和给定的标签中获取所有推文
- 从h1标签获取链接并使图片可下载
- 如何从标题标签获取 A1 表示法的列范围
- 从gmail帐户按标签获取所有消息
- 广告词脚本-按标签获取广告
- 从li标签获取图片来源
- 如何通过标签获取推文
- 量角器通过名称标签获取元素
- 通过aria标签获取HTML元素
- 如何从img标签获取列表SRC
- 从ownerNode(样式标签)获取样式表对象
- 从多个span标签获取标题值
- 从标题标签获取标题
- 从段落标签获取值
- 使用JavaScript从对象标签获取视频Url
- Python:从html的href标签获取javascript文件
- 从锚(a)标签获取本地href值
- 通过点击anchor标签获取anchor的值
- jQuery从动态标签获取属性