我刚刚通过this MDN tutorial了解DOM。在最后一节“测试DOM API”下,提供了以下代码:
<html>
<head>
<title>DOM Tests</title>
<script type="application/javascript">
function setBodyAttr(attr,value){
if (document.body) eval('document.body.'+attr+'="'+value+'"');
else notSupported();
}
</script>
</head>
<body>
<div style="margin: .5in; height: 400;">
<p><b><tt>text</tt>color</b></p>
<form>
<select onChange="setBodyAttr('text',
this.options[this.selectedIndex].value);">
<option value="black">black
<option value="darkblue">darkblue
</select>
<p><b><tt>bgColor</tt></b></p>
<select onChange="setBodyAttr('bgColor',
this.options[this.selectedIndex].value);">
<option value="white">white
<option value="lightgrey">gray
</select>
<p><b><tt>link</tt></b></p>
<select onChange="setBodyAttr('link',
this.options[this.selectedIndex].value);">
<option value="blue">blue
<option value="green">green
</select> <small>
<a href="http://www.brownhen.com/dom_api_top.html" id="sample">
(sample link)</a></small><br>
</form>
<form>
<input type="button" value="version" onclick="ver()" />
</form>
</div>
</body>
</html>
除了链接颜色外,一切都按预期工作:在Chrome下,只有在更改文本颜色(即第一个属性)后才会应用链接颜色的更改。不应该立即进行所有更改吗?
提前致谢。
答案 0 :(得分:1)
这不是改变页面上链接颜色的正确方法(应该用CSS完成),并且在HTML版本4中不推荐使用body.link属性(http://www.w3schools.com /tags/att_body_link.asp)。我不能100%肯定,但我会说它不起作用的原因是因为Chrome是采用网络标准的现代浏览器 - body.link属性不是标准。