gpt4 book ai didi

javascript - 动态添加颜色到添加的文本

转载 作者:行者123 更新时间:2023-11-28 19:55:26 25 4
gpt4 key购买 nike

我正在研究appendChild()方法的这个例子。但不同之处在于我试图动态地向div添加更多文本。这没问题。但困难的部分是我想要添加的文本是颜色为红色。我该怎么做?我试过了

  text.setAttributes('color',"red");

但是没有成功。所以,这个任务如何完成?请帮忙,谢谢!!!!

完整代码如下............

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function create_text(){
var mydiv = document.getElementById("mydiv");
var text = document.createTextNode(" New text to add.");

mydiv.appendChild(text);
}
</script>
</head>
<body>
<button onclick="create_text();">Create Text Node</button>
<div id="mydiv">Welcome, here is some text.</div>
</body>
</html>

最佳答案

您通常必须使用 CSS 属性,但是文本节点不能应用 CSS 属性。因此,您需要另一个容器元素:

您可以选择任何您想要的容器元素,例如divspan 等。它只需要能够包含文本节点即可。有了一个元素,我们就可以访问 styles 属性并设置各种样式(在您的情况下为 color 属性)。

→ jsFiddle

function create_text(){
var mydiv = document.getElementById("mydiv");

var container = document.createElement("span");
var text = document.createTextNode(" New text to add.");

container.appendChild(text);
container.style.color = "red";

mydiv.appendChild(container);
}
<小时/>

进一步说明:

  • 颜色分配和appendChild调用的顺序是任意的。以下也是可能的:

    function create_text(){
    var mydiv = document.getElementById("mydiv");

    var container = document.createElement("span");
    var text = document.createTextNode(" New text to add.");

    container.appendChild(text);
    mydiv.appendChild(container);

    container.style.color = "red";
    }

关于javascript - 动态添加颜色到添加的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672131/

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