我想在创建新标记时使内部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/