点和哈希符号在JQuery中是什么意思?


67

在以下示例中,我对点和哈希符号感到困惑:

<DIV ID="row">
<DIV ID="c1">              
<Input type="radio" name="testing" id="testing" VALUE="1">testing1
</DIV>
</DIV> 

代码1:

 $('#row DIV').mouseover(function(){     
    $('#row DIV').addClass('testing');  
    });

代码2

  $('.row div').mouseover(function(){
        $(this).addClass('testing');
    });​

代码1和2看起来非常相似,因此让我感到困惑,以至于
我何时应该使用“ .row div”来引用特定的DIV而不是使用“ #row div”?


4
他们是CSS选择器。Google可以为您提供帮助:google.com/search?
q=css+selectors+tutorial

2
@DanielPryden我认为推荐一个特定的教程会有所帮助-推荐一个Google搜索,而不是很多。
dbliss

Answers:




7

这些是CSS选择器。

哈希符号#表示该元素是ID。所以#row会匹配<div id="row">

另外,点符号.表示元素是CSS类。所以.row会匹配<div class="row">

有关更多信息,请访问W3C


+1指出jQuery和CSS之间的外部参照-我确信jQuery的作者故意选择了这些选择器以映射到CSS的现有标准。
GalacticCowboy

jQuery实际上使用sizzle,它是javascript中的css选择器引擎:sizzlejs.com
ordnungswidrig 2010年

5

“。” 表示类,而“#”表示ID。

<table id="table">
    <tr class="odd"></tr>
    <tr></tr>
    <tr class="odd"></tr>
</table>

$(“#table”)将获得完整的表对象,而$(“。odd”)将获得类“ odd”的所有内容。$(“ tr.odd”)将仅获得具有该类的表行。


2

.指定一称为“行。” 该#指定的ID叫“行。”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.