【发布时间】:2015-03-31 10:22:39
【问题描述】:
我有一个简单的js 代码:
<html>
<head>
<title>test</title>
<script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>
<script type="text/javascript">
console.log(document.querySelector('#nav-toggle')); // this will get null
console.log($('#nav-toggle')); // this will get the element
</script>
</head>
<body>
<a id="nav-toggle" href="#">link</a>
<script type="text/javascript">
console.log(document.querySelector('#nav-toggle')); // this will get the element
console.log($('#nav-toggle')); // this will get the element
</script>
</body>
</html>
正如我评论的那样,第一个document.querySelector('#nav-toggle') 会得到null,我猜问题是dom element 没有被渲染,因为第二个得到了元素。
但是jQuery不管在哪里都能拿到元素,jQuery怎么会这样呢?
【问题讨论】:
-
将 head 部分的代码添加到 document.ready 函数中。
-
您在查询中拼写了切换错误
-
Javascript 和 jQuery 只能在元素存在时获取它。
标签: javascript jquery dom jquery-selectors