在创建新元素-Vanilla JS时,如何使Inner HTML的一部分成为一部分



我想在创建新标签时构成内在html的一部分,例如:

var movieTitle = "Potato";
var words = "Movie " + movieTitle.bold() + "is great";
var list = document.getElementById("ulList");
var newLI = document.createElement('li');
newLI.innerHTML = words;
list.appendChild(newLI);

输出是:电影马铃薯很棒

现在我的问题是,我可以在不使用innerhtml的情况下做这样的事情?

我已经使用createTextNode((尝试了此功能,但是此功能将所有内容转换为包括html的文本,所以我得到了结果:电影<" b"> pototh> pocut<"/b">很棒

此答案不使用innerHTML属性,并将变量movieTitle视为纯文本。

let movieTitle = "Potato"
let listItemElement = document.createElement("li")
listItemElement.textContent = "The movie "
let movieTitleElement = document.createElement("b")
movieTitleElement.textContent = movieTitle
listItemElement.appendChild(movieTitleElement)
listItemElement.appendChild(document.createTextNode(" is great"))
document.getElementById("ulList").appendChild(listItemElement)
<ul id="ulList"></ul>

最新更新