javascript - appendChild 代码不计算在 createTextNode 中编写的 HTML 代码
问题描述
我需要附加一个标题为“幸运!”的单独 div 作为另一个 div 元素的子元素。我已经在 createTextNode 事件中编写了确切的代码,但它没有计算确切的代码。
我尝试过使用不同的事件处理程序或在不同的地方编写 JavaScript,但那时什么都不会显示。
function function2() {
var childtype = document.createElement("div");
var childcontent = document.createTextNode("<div title='Lucky!'>See you!</div>");
childtype.appendChild(childcontent);
document.getElementById("div1").appendChild(childtype);
}
function2()
它写入<div title='Lucky!'>See you!</div>
而不是仅See you!
使用属性。
解决方案
您必须分别创建两个节点并设置内部节点的文本。setAttribute()
然后,您可以在您创建的节点上添加标题。
function function2() {
var outer = document.createElement("div");
var inner = document.createElement("div");
var childcontent = document.createTextNode("See you!");
inner.appendChild(childcontent);
inner.setAttribute( 'title', 'Lucky!' );
outer.appendChild(inner);
document.body.appendChild(outer);
}
function2();
如前所述,替代方法是使用 innerHTML,因为它会解析 HTML:
function function2() {
var childtype = document.createElement("div");
childtype.innerHTML = "<div title='Lucky!'>See you!</div>";
document.getElementById("div1").appendChild(childtype);
}
function2();
<div id="div1"></div>
推荐阅读
- c# - 使用 selenium c# 获取下拉项目计数
- c# - 使用 C# 和实体框架在 ASP.NET 中加载 GridView
- python - 训练数据上的gridCV.score方法与gridCV.best_score_之间的区别
- php - 无法将图片移动到文件路径
- javascript - 如何在javascript中加密并在python中解密?
- react-native - 运行“react-native run-android”时出错
- javascript - 为流媒体服务器正确拆分 MPEG-1 第 3 层
- core-location - IOS 13:CoreLocation:CLVisit 在一段时间后停止调用委托
- css - 检查复选框是否被选中
- ios - UIStoryboard 控制器类作为基类