理解使用#的jQuery属性选择器

时间:2015-09-23 14:14:41

标签: javascript jquery

有人能告诉我jQuery选择器下面会抓到什么(我没有写它但我需要理解它)...

var $cat = $('a[href="#cat"]');

是否所有的锚标签都有“猫”和“猫”。在他们的href属性的值?

也使用' $'在变量名中有任何意义或影响吗?这是不好的做法吗?

5 个答案:

答案 0 :(得分:3)

它获取具有给定锚值的锚元素(在这种情况下,这是$页面锚点)。

不,在变量名中使用{{1}}并不是坏习惯,它立即显示它是一个jQuery对象。当然,如果你也使用AngularJS,它会更灰,因为它对内部对象使用相同的命名约定。

通过“不坏的做法”我的意思,并非坏习惯本身。所以它可以使用,但请确保您始终如一地使用它,因为不一致的命名约定 是不好的做法。

答案 1 :(得分:1)

它将返回所有看起来像

的元素
<a href="#cat" ...>...</a>

答案 2 :(得分:1)

它将选择一个将标记链接到cat的A标记,如

<a href="#cat" >Link</a>

$ var是一种有效的做法,你可以说是标准的js

var $myvar = "hello";
and
var myvar = "hello";
both will work the same

检查此链接

http://www.bennadel.com/blog/1778-using-variable-in-jquery-code-is-just-hungarian-notation.htm

答案 3 :(得分:1)

它会抓住以下内容:

<a href="#cat">This link</a>

但不是以下内容:

<a href="cat">This one</a>
<a href="#dog">This one</a>
<a href="#cattywompus">Another</a>

选择器中的[]用于选择具有特定属性的元素。 有类似的选择器,例如,您可以使用“以...开头”([href^="#cat"])或“包含”([href*="#cat"]),但仅使用=表示等于。 / p>

在此处查看更多详情:https://api.jquery.com/category/selectors/attribute-selectors/

在元素名称中使用$通常表示它是jQuery对象或DOM节点,而不是另一个更简单的变量(如整数或数组等)

答案 4 :(得分:0)

$('a[href="#cat"]');会选择任何一个href为&#39; #cat&#39;。

此外,变量名称开头的$只是一个命名约定。它没有提供特定含义,但通常用于将变量标识为JQuery Object