我试图动态设置弹出窗口的内容。动态HTML页面不使用css
这里是第一个HTML页面的一切是静态定义:
<html>
<head>
<meta charset='utf-8'>
<link href='css/font-awesome.css' rel='stylesheet'>
<link href='css/myStyle.css' rel='stylesheet'>
</head>
<body>
<div id="data">
<ul class='links-list'>
<li><a target='_blank' href='siteURL'><i class='myButton'>TEXT</i></a></li>
<li><a target='_blank' href='twitterURL'><i class='myButton'>TEXT</i></a></li>
</ul>
</div>
</body>
</html>
现在我需要动态设置我的按钮,所以我删除将被动态创建的一切:
<html>
<head>
<meta charset='utf-8'>
<link href='css/font-awesome.css' rel='stylesheet'>
<link href='css/myStyle.css' rel='stylesheet'>
</head>
<body>
<div id="data">
</div>
<script type="text/javascript" src="script.js">
</script>
</body>
</html>
我的内容脚本“script.js”接收数据(链接数组)并且必须在我的HTML文档中创建按钮:
self.port.on("liste", function(list)
{
var div = document.getElementById('data'); // Get <div id="data">
var ul = document.createElement('ul'); // Create <ul class='links-list'>
ul.class = 'links-list';
for (var i = 0; i < list.links.length; ++i)
{
var site = list.links[i];
var li = document.createElement('li'); // Create <li>
var link = document.createElement('a'); // Create <a>
var button = document.createElement('i'); // Create <i>
button.class = "myButton";
link.text = site.text;
link.href = site.url;
link.target = '_blank';
link.appendChild(button);
li.appendChild(link);
ul.appendChild(li);
}
div.appendChild(ul);
});
问题是动态创建的链接没有使用 “myStyle.css”,这里是一个comparaison:
静态VS动态负载:
谁能帮我解决这个?谢谢。
你的CSS文件在非动态页面中工作吗?你可以发布吗? – Smartis
弹出窗口是一个mozilla附加组件。我通过更改属性“innerHTML”动态加载内容,并且我的css文件运行良好,但mozilla不喜欢它,并要求我不要使用“innerHTML”。我只是在改变我动态改变内容的方式。此外,在问题的最后,你有一个在非动态页面上工作的例子。 – Nucktrooper
调试器告诉我'未捕获的ReferenceError:列表未定义'在'Script.js第5行' – Smartis