gpt4 book ai didi

Javascript - 如何在不清除输入的情况下更改标签的 innerText

转载 作者:可可西里 更新时间:2023-11-01 13:45:01 26 4
gpt4 key购买 nike

我想问一下如何通过 Javascript 更改单选按钮的标签 innerText(见下面的代码)同时不清除输入标签里面。此处的标签 innerText 表示“Button-Label-X”。

我尝试通过 document.getElementsByClassName("radio-label") 的元素来诊断标签样式,包括

  • textContent: "Button-Label-X"
  • innerText :"按钮-标签-X"
  • outerText :"按钮-标签-X"

然后为它们分配新的字符串值(例如“Button-Label-Y”)。然而,所有这些方式都会导致相同的结果:输入消失,只剩下新的值。有人在这里有什么想法吗?

<div class="radio">
<label class="radio-label"><input type="radio" name="optradio"> Button-Label-X </label>
</div>

当然,我可以通过将 input 标签放在 label 之外来解决问题,然后一切都解决了。但是,对于那种情况,我必须为输入设置 id 并为标签设置“for:id”。对于 05 个按钮而不是 01 个按钮的情况,它变得繁琐。

最佳答案

如果我没理解错的话,您可以从childNodes 访问文本部分。 .拥有它后,您可以通过设置属性 textContent 来更改文本。到想要的文字。

像这样:

function changeLabelText(label, text) {
var children = label.childNodes;
[].forEach.call(children, function(child) {
if (child.nodeType == 3) {
child.textContent = text;
}
});
}

var label = document.querySelector('label');
changeLabelText(label, 'blabla');
<div class="radio">
<label class="radio-label"><input type="radio" name="optradio"> Button-Label-X </label>
</div>

关于Javascript - 如何在不清除输入的情况下更改标签的 innerText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45695278/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com