【发布时间】:2016-07-20 15:37:03
【问题描述】:
好的,这个很难解释。我有一个带有 myDiv 类的空 div(例如。)
即。
<div id="myDiv"></div>
<script type="text/javascript" src="http://somesite.com/index.cgi"></script>
div (myDiv) innerHTML 通过调用另一个运行此脚本的站点 (somesite.com/index.cgi) 被替换....
var panel = document.getElementById('myDiv');
if(panel){
panel.innerHTML += "<h2>A Title</h2>";
panel.innerHTML += "<p>";
panel.innerHTML += " Paragraph Info";
panel.innerHTML += "</p>";
panel.innerHTML += "<ul>";
panel.innerHTML += " <li><a href=\"http://somelinks.com/">Link 1</a></li>";
panel.innerHTML += " <li><a href=\"http://somelinks.com/">Link 2</a></li>";
panel.innerHTML += "</ul>";
panel.innerHTML += "<h2>A 2nd Title</h2>";
panel.innerHTML += "<p>";
panel.innerHTML += " Paragraph Info2";
panel.innerHTML += "</p>";
panel.innerHTML += "<ul>";
panel.innerHTML += " <li><a href=\"http://somelinks.com/">Link 1</a></li>";
panel.innerHTML += " <li><a href=\"http://somelinks.com/">Link 2</a></li>";
panel.innerHTML += "</ul>";
}
etc....
我正在尝试制作列表,首先,更漂亮(css 样式),其次,我希望将其设置为可点击的 h2 和 p 以下拉之前隐藏的 li 元素。这有意义吗?
此时,我正在尝试(可能是艰难的方式)为项目获取一个变量,然后通过这样做来更改它们的样式...
var i;
var myDiv = document.getElementById("myDiv");
var headers = myDiv.getElementsByTagName("h2");
var paras = myDiv.getElementsByTagName('p');
var li = myDiv.getElementsByTagName('li');
var ul = myDiv.getElementsByTagName('ul');
for (i = 0; i < paras.length; i++) {
paras[i].style.fontSize = "8px";
}
for (i = 0; i < headers.length; i++) {
headers[i].style.fontSize = "18px";
}
for (i = 0; i < ul.length; i++) {
ul[i].style.fontSize = "16px";
}
for (i = 0; i < li.length; i++) {
li[i].style.fontSize = "14px";
}
</script>
我试图做一个 CSS 样式表,但在页面加载后它似乎没有将它应用到 javascript。其次,由于某种原因,当只有 7 个元素时,p 显示 14 个元素。我不知道为什么会这样。
无论如何,对我应该走的方向有什么建议吗?使它们可点击和隐藏并且还能够设置它们的样式?想法?顺便说一句,我无权访问该外部脚本。
谢谢, 乔什
(我还在这里读到我可以执行 .cssText += "; "+ strNewCSS; 来强制更新元素,但我不知道这是否可行。)
【问题讨论】:
-
嗯,你说“我有一个空的 div 类 myDiv”,它不是一个类,它是一个 id。如果您对动态代码进行 css 样式设置,它仍然可以工作。也许您的 css 代码中有错误(例如,您尝试使用 .myDiv 而不是 #myDiv 进行样式设置?)。您可以使 h2 可点击没问题。我不确定使用纯 javascript 的情况如何,但使用 jquery,您无法像使用普通内容一样在动态加载的内容上运行 js 代码。 (stackoverflow.com/questions/203198/…供参考)
标签: javascript html css dom