问题
There is this jQuery which seems to look for all elements with id="scuba"
, but then it uses attr() to pull the id out? Could "scuba" be part of the id and attr pulls the entire id out? I've never seen the $ inside an attribute selector, just outside like the example below.
$('*[id$=scuba]').attr('id')
So my questions are:
- What does the
$
or$=
do in this example - What does this code do?
回答1:
The dollar sign
The first $
is a shorthand for the jQuery()
function, the jQuery object constructor.
In other words, it's a variable called $
that's been assigned a function called jQuery
, as can been seen in the unminified version of the jQuery source: window.jQuery = window.$ = jQuery;
The dollar-equals sign
The second $
is part of a jQuery selector called Attribute Ends With Selector . When used in an attribute selector, $=
is a logical operator that literally means "true if the left-hand value ends with the right-hand value".
What this script actually does
Overall, this snippet first selects any element with an id
attribute ending in scuba
. It then retrieves the id
value of the first element from the resulting jQuery object.
回答2:
This code selects all DOM elements that have id
attributes that end in scuba
and returns their id
values.
I'm pretty sure it's a better idea to include quotes around scuba
, though.
来源:https://stackoverflow.com/questions/15950823/what-does-the-dollar-sign-mean-inside-an-attribute-selector-in-jquery