TypeError:$(...)。children不是函数

时间:2015-03-11 20:34:51

标签: javascript jquery

我尝试用jQuery选择某个DOM元素

html

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
    </head>
    <body>
      <nav id="nav" class="navigator">
      <h1>Nav Header</h1>

      <ul class="nav-list">
        <li class="nav-item"><a >Item #1</a></li>
        <li class="nav-item active"><a href="#2">Item #2</a></li>
      </ul>
      </nav>
    </body>
</html>

我想选择第1项 我用了

$('.nav-list').children()

我得到了

TypeError: $(...).children is not a function

这里有什么问题?

3 个答案:

答案 0 :(得分:15)

您需要在页面中包含jQuery。

现在大多数浏览器默认在其控制台中包含$()功能,以便于选择元素,但这只是映射到document.getElementById()

返回的值不会有.children()方法。

此外,如果直接从文件系统加载HTML页面,则需要包含http://用于CDN脚本URL。否则,您的浏览器将尝试在本地系统上找到.js文件。

答案 1 :(得分:0)

基于$在浏览器控制台中未引用jQuery的事实,我找到了一种方法来更改Google Chrome当前会话中的jQuery。我只是将来自此github页面的JavaScript源粘贴到控制台中:

use jQuery in Chrome javascript console

供以后参考的代码:

var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
jQuery.noConflict();

那之后我可以

$("html").children()

答案 2 :(得分:0)

就我而言,问题是通过将 '.children()' 替换为 'children' 来解决的 结果我得到了一系列孩子