0

我刚刚浏览了这个关于 DOM 的MDN 教程。在最后一节“测试 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 下,只有在您更改文本颜色(即第一个属性)后才会应用链接颜色的更改。所有的改变不应该是立竿见影的吗?

提前致谢。

4

1 回答 1

1

这不是更改页面上链接颜色的正确方法(应该使用 CSS 完成),并且 body.link 属性在 HTML 版本 4 中已被弃用(http://www.w3schools.com/tags/ att_body_link.asp)。我不能 100% 肯定,但我想说它不起作用的原因是因为 Chrome 是采用网络标准的现代浏览器 - body.link 属性不是标准。

于 2012-12-01T02:12:41.470 回答