jQuery $(”)和$(’p’)之间有什么区别
有人可以向我解释jQuery中$('
')和$('p')
之间的区别。
例如,如果我写:
$('body').append($('').html('hello my friend'));
然后出现’你好我的朋友’的文字。
但是,当我写:
$('body').append($('p').html('hello my friend'));
没有任何事情发生
区别:
$('
')
创建一个新的paragraph-element
$('p')
选择DOM中的所有段落元素
你的案子:
例1:
$('body').append($('').html('hello my friend'));
将创建一个新的paragraph-element,给它一些文本,然后将元素添加到body中。
例2:
$('body').append($('p').html('hello my friend'));
将选择已经存在于DOM中的所有段落元素并将其内容更改为“hello my friend”,然后将它们全部附加到正文,这没有多大意义,因为它们已经在DOM中。
由于运行此代码时没有任何内容可见,因此您的页面可能不包含任何
元素,因此没有任何内容与$("p")
选择器匹配。
$('
')
创建一个新段落(
)元素。 (
)
$('p')
选择所有现有的段落元素。
例如:
$('p').after($('').html('foo'))
将选择所有段落并在其后添加新段落。
jQuery可以解析HTML并创建一个实际的DOM元素。 也就是说,当你执行类似$("
") ,jQuery会解析标记并在内部创建一个可以附加到文档的DOM段落元素。
另一方面,jQuery集成了Sizzle ,一个CSS选择器引擎。 jQuery函数接受CSS选择器,这意味着$("p")
正在选择文档中的所有段落元素 。 您还可以使用更复杂的选择器,如$("p:first-child")
并选择文档的第一段。
在此处了解有关jQuery CSS选择器的更多信息。