js代码中,可以直接用id当选择器?

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <title>Document</title>

</head>

<body>

  <ul id="color-list2">

    <li id="addEvent">red</li>

    <li id="on_click">yellow</li>

  </ul>

  <script type="text/javascript">

    (function() {

      on_click.onclick = function() {

        alert("我是click1");

      }

//      color-list2.style.color = 'blue';

      on_click.style.color = 'red';

    })();

  </script>

</body>

</html>

问题:

这段代码为什么可以正确运行?

我认为on_click应该是未定义的,但没有报错,所以我猜测js中可以直接用id当选择器,但是如果我的猜测正确,那为什么我注释的那句会报错?

真的搞不懂什么原因?求指教


汪汪一只猫
浏览 2782回答 5
5回答

三国纷争

这个一开始是&nbsp;IE&nbsp;为了方便提供的支持,后来火狐、Chrome&nbsp;都跟进了。而且不止&nbsp;id,name&nbsp;也可以,只要不和&nbsp;js&nbsp;内置属性或全局变量重名就会自动挂载。Chrome v64.0.3282.140&nbsp;下的话在&nbsp;window / document / all&nbsp;路径下:但是这个进没进标准还不知道,最好别用不然以后标准不让用浏览器一更新你的代码就 gg 了。

holdtom

color-list 这个在js语法里当变量成立吗? 如果 你换成color_list, 你在试试报错 ?

摇曳的蔷薇

赞同楼上的,你注释的那句不对,你应该是想写color-list2的吧
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript