Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换标签中的文本_Javascript_Html - Fatal编程技术网

Javascript 替换标签中的文本

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

我有一个HTML,看起来像:

我想用另一个单词
某个单词
替换单词
搜索:
。我该怎么做?我试过:

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子节点并进行更改)这是否回答了您的问题?你可以,但你不必