Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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_Dom - Fatal编程技术网

Javascript节点值不接受新变量

Javascript节点值不接受新变量,javascript,dom,Javascript,Dom,以下是我所拥有的: 我动态创建此标记: <p id="amount"><span></span></p> amount是一个使用getElementbyId创建的变量,text是一个可以工作的变量,它只显示一个数字 现在,为什么不接受文本作为值?它呈现和空跨度。。。而且文本工作得很好 谢谢大家 尝试使用: amount.firstChild.innerHTML = text; amount.firstChild.appendChild(doc

以下是我所拥有的:

我动态创建此标记:

 <p id="amount"><span></span></p>
amount是一个使用getElementbyId创建的变量,text是一个可以工作的变量,它只显示一个数字

现在,为什么不接受文本作为值?它呈现和空跨度。。。而且文本工作得很好

谢谢大家

尝试使用:

amount.firstChild.innerHTML = text;
amount.firstChild.appendChild(document.createTextNode(text));
.

尝试使用:

amount.firstChild.appendChild(document.createTextNode(text));

.

您可以测试范围中的嵌套文本节点,如果没有,则创建它

var span = amount.firstChild
if (!span.firstChild)
    span.appendChild(document.createTextNode(text));
else
    span.firstChild.nodeValue = text;

可以测试范围中的嵌套文本节点,如果没有,则创建它

var span = amount.firstChild
if (!span.firstChild)
    span.appendChild(document.createTextNode(text));
else
    span.firstChild.nodeValue = text;

我怀疑警报是否显示SPAN。它显示1。你是说
nodeName
?我怀疑警报是否显示SPAN。它显示1。你是说
nodeName
textContent
而不是
innerHTML
。否则,文本将被解析为HTML。如果您担心浏览器兼容性问题,请使用
amount.firstChild.appendChild(document.createTextNode(text))。如果
事先不是空的,则在代码段前面加上
amount.firstChild.innerHTML=''谢谢你的评论。我不知道。
textContent
而不是
innerHTML
。否则,文本将被解析为HTML。如果您担心浏览器兼容性问题,请使用
amount.firstChild.appendChild(document.createTextNode(text))。如果
事先不是空的,则在代码段前面加上
amount.firstChild.innerHTML=''谢谢你的评论。我不知道。