出于调试目的,我尝试在Chrome控制台中输入以下内容:
$("#loading")
> null但如果我这样做,它会正确地检索div:
$("loading")
> <div id="loading" align="center" style="display: none;">我使用的是jquery-1.4.1.min.js。
<script type="text/javascript" src="../../js/jquery-1.4.1.min.js"></script>这对我来说没有意义,为什么我不能通过#符号选择一个div,但当我排除它时我可以选择它?
编辑:对不起,这是我的重大失败。我的意思是反过来。请参阅修订后的质询。

我唯一拥有的其他js库是prototype.js,它是在jquery script之后加载的。
发布于 2013-02-22 13:52:41
你应该看看jQuery selector documentation。
使用jQuery选择器时的一些基本规则如下(这些规则并不是详尽的,您应该查看文档):
#将搜索id为#后面的任何单词的所有DOM节点。因此,$('#loading')将使用id="loading"选择DOM节点。这应该只返回一个元素,因为页面上的非唯一id是无效的。在选择器开头使用.的
#的搜索,但将查看所有DOM节点的class属性,并选择具有与选择器匹配的类的节点。因此,('.loading')将选择class属性值中包含loading的DOM节点。$('loading')将尝试查找所有<loading>标签,但由于这不是实际的HTML标签,因此将不会选择任何内容。编辑,虽然上面说的是真的,但看起来你在prototype.js和jQuery之间有冲突。这些都是众所周知的,也是令人遗憾的。有关这方面的更多信息,可以查看jQuery的wiki entry on using jQuery with other libraries和jQuery.noConflict()上的文档。实际上,您需要使用jQuery而不是$来访问jQuery库。
发布于 2013-02-22 13:43:03
$("#loading")指示使用该#符号的特定id获取dom。
类似地,要获得带有class名称的特定DOM,您必须使用.
选择器的一些例子是:
Selector Example Selects
* $("*") All elements
#id $("#lastname") The element with id="lastname"
.class $(".intro") All elements with class="intro"
.class,.class $(".intro,.demo") All elements with the class "intro" or "demo"我已经在我这边检查过了,看看结果。

发布于 2013-02-22 13:52:32
$("loading")表示您正在选择一个html元素标签,如<div>标签($('div'))。
$("#loading")表示您正在选择一个id为<div id='loading'>的html元素标记。
看看jquery选择器...http://api.jquery.com/category/selectors/
https://stackoverflow.com/questions/15017617
复制相似问题