Javascript 替换标签中的文本
我有一个HTML,看起来像: 我想用另一个单词Javascript 替换标签中的文本,javascript,html,Javascript,Html,我有一个HTML,看起来像: 我想用另一个单词某个单词替换单词搜索:。我该怎么做?我试过: document.querySelector("#state-covid-data_filter label").innerText = "some word" 但这也替换了input标记 我还尝试: document.querySelector("#state-covid-data_filter label").innerHTML = do
某个单词
替换单词搜索:
。我该怎么做?我试过:
document.querySelector("#state-covid-data_filter label").innerText = "some word"
但这也替换了input
标记
我还尝试:
document.querySelector("#state-covid-data_filter label").innerHTML = document.querySelector("#state-covid-data_filter label").innerHTML.replace("Search:","Some word:")
但是,
input
标记会丢失注册的事件。我怎样才能替换文本
,使其他一切都保持正常。因为您的输入
位于标签内
它也是内部文本
的一部分,您可以在文本周围添加一个元素,然后像这样选择它
document.querySelector(“您的id标签span”).innerText=“一些单词”代码>
你的文字
您可以通过childNodes
获取文本节点
如果文本始终位于元素的开头,则可以按如下方式更改:
document.querySelector('label').childNodes[0]。textContent='Some word:'代码>
搜索:
一个解决方法是重新绘制标签,它将考虑到当您的标签
可能没有任何文本内容开始时,或者当它放置在输入之后时的情况
const label = document.querySelector("label");
const input = label.querySelector("input");
label.innerHTML = "NEW STRING";
label.append(input);
用
包装它。(如果您无法更改HTML,请获取textNode子节点并进行更改)这是否回答了您的问题?你可以,但你不必