正如问题所述,为什么我们需要使用$(“#id”)而不仅仅是$(id)?
答案 0 :(得分:3)
jQuery selectors是大多数CSS selectors specification的实现,其中有几个扩展。
没有#
的语法已经有了含义,它代表type selector,而不是id selector。
没有引号的语法将是JavaScript variable而不是string literal(完全不受jQuery控制的东西)。当然,您可以使用标识符来访问包含字符串的变量。
答案 1 :(得分:0)
因为#
表示您指向了ID,所以您也可以将.
用于类
答案 2 :(得分:0)
Jquery的选择引擎基于Sizzle,它是一个“纯Javascript CSS选择器引擎”。它基于css选择器,所以#包含在想法中。
Sizzle要求将字符串传递给它,因此$( id )
无效,除非id
是带字符串值的变量。
答案 3 :(得分:0)
jQuery选择器基于CSS选择器。选择器需要计算为字符串。
在您的示例$(id)中。你传递了一个名为id的变量。这不会找到名为'id'的东西,但它会查找id的字符串值。
$('p')将选择所有p个元素
$('#myid')将选择id为myid
的元素
$('。myclass')将选择类myclass