Javascript 如何将CSS样式应用于AJAX调用后呈现的内容
我正在编写一个应用程序,它通过AJAX获取一组JSON数据,然后在es6模板文本中呈现由相同数据构建的视图。要演示的非常简单的版本:Javascript 如何将CSS样式应用于AJAX调用后呈现的内容,javascript,ajax,reactjs,templates,ecmascript-6,Javascript,Ajax,Reactjs,Templates,Ecmascript 6,我正在编写一个应用程序,它通过AJAX获取一组JSON数据,然后在es6模板文本中呈现由相同数据构建的视图。要演示的非常简单的版本: let mountPoint=document.getElementById(“mountPoint”); let view=document.createElement(“节”); view.id=“查看”; view.innerHTML=`${returnedAjaxData}`; mountPoint.innerHTML=视图 #挂载点{ 背景:#0000
let mountPoint=document.getElementById(“mountPoint”);
let view=document.createElement(“节”);
view.id=“查看”;
view.innerHTML=`${returnedAjaxData}`;
mountPoint.innerHTML=视图代码>
#挂载点{
背景:#000000;
}
#看法{
背景:#4444
}
我的应用程序
解析字符串,并将其设置为节点的html内容。使用创建的节点不是字符串。当您尝试使用Element#innerHTML将其添加到装入点
时,它将转换为字符串,并且字符串没有id视图
您需要使用或(MS浏览器不支持)将节点附加到视图中
此外,css选择器(例如id)区分大小写,css中的mountpoint
与html中的mountpoint
不同
let mountPoint=document.getElementById(“mountPoint”);
let view=document.createElement(“节”);
view.id=“查看”;
view.innerHTML=`returnedAjaxData`;
mountPoint.appendChild(视图);//作为装入点的子项追加
#装入点{/**重命名为装入点**/
高度:40px;/**仅作为示例**/
背景:#000000;
}
#看法{
背景:#4444
}
我想它可能是重复的。这个答案引用了如何更改单个元素,我需要在AJAX调用返回且innerHTML呈现为ParentNode后运行整个样式表。append()在IE、Edge或Safari中不起作用。我将接受这个答案,因为它适用于我的示例。它仍然不适用于我的实际应用程序,因为我需要向视图节点追加一个HTML字符串,appendChild需要一个DOM节点而不是字符串。只要选择器(id)相似,它也适用于innerHTML。见答案的补充。