不寻常的jQuery行为

时间:2018-03-30 20:17:53

标签: javascript jquery html dom

我不小心尝试了下面的代码

如果未使用选择器选择元素或将其分配给变量

,则如何记录以下脚本中的sample



<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    console.log(sample);
});
</script>
</head>
<body>

<p id="sample">If you click on me, I will disappear.</p>
<p class="sample">If you click on me, I will disappear.</p>
</body>
</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

元素ID通常会自动分配给浏览器中的全局上下文,但不能依赖它。

https://html.spec.whatwg.org/#named-access-on-the-window-object

  

窗口[名称]

     

返回指定的元素或元素集合。

     

作为一般规则,依赖于此将导致代码脆弱。例如,随着新功能添加到Web平台,哪些ID最终映射到此API可能会随着时间的推移而变化。而不是这个,使用document.getElementById()或document.querySelector()。

&#13;
&#13;
console.log(window.xx);
&#13;
<div id="xx"></div>
&#13;
&#13;
&#13;

https://dev.to/buntine/dom-elements-with-ids-are-global-variables