我想在创建新标记时使内部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的文本,因此我得到了以下结果:Movie Potato 很棒

最佳答案

此答案不使用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>

关于javascript - 创建新元素时如何使内部HTML的一部分变为粗体-Vanilla JS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43832055/

10-12 12:50