有这个 jQuery 似乎在寻找所有带有 的元素id="scuba"
,但是它使用 attr() 来拉出 id?“scuba”可以成为 id 的一部分,而 attr 会拉出整个 id 吗?我从未在属性选择器中看到 $ ,就像下面的示例一样。
$('*[id$=scuba]').attr('id')
所以我的问题是:
- 在这个例子中
$
or做什么$=
- 这段代码有什么作用?
有这个 jQuery 似乎在寻找所有带有 的元素id="scuba"
,但是它使用 attr() 来拉出 id?“scuba”可以成为 id 的一部分,而 attr 会拉出整个 id 吗?我从未在属性选择器中看到 $ ,就像下面的示例一样。
$('*[id$=scuba]').attr('id')
所以我的问题是:
$
or做什么$=
美元符号
第一个$
是jQuery()
函数的简写,jQuery 对象构造函数。
换句话说,它是一个名为 的变量,它$
被分配了一个名为 的函数jQuery
,正如在未缩小版本的 jQuery 源代码中所见:window.jQuery = window.$ = jQuery;
美元等号
第二个$
是名为Attribute Ends With Selector的 jQuery 选择器的一部分。在属性选择器中使用时,$=
是一个逻辑运算符,字面意思是“如果左侧值以右侧值结尾,则为真”。
这个脚本实际上做了什么
id
总体而言,此代码段首先选择具有以 .结尾的属性的任何元素scuba
。然后它从生成的 jQuery 对象中检索id
第一个元素的值。
此代码选择所有具有id
以结尾的属性scuba
并返回其id
值的 DOM 元素。
不过,我很确定在 周围加上引号是一个更好的主意scuba
。