什么是jQuery角括号选择器看起来像$('<img/>')?

时间:2013-04-11 14:28:46

标签: jquery jquery-selectors

有时我会看到像$('<img/>')这样的结构。 $('<img/>')$('img')有何不同?我在哪里可以阅读更多相关信息?

我试着查看jQuery Selectors,但发现与此格式无关。

3 个答案:

答案 0 :(得分:5)

当传递一个看起来像HTML的字符串时,jQuery函数被重载以构造新的jQuery元素。来自docs

  

如果一个字符串作为参数传递给$(),jQuery会检查   字符串,看它是否看起来像HTML(即,它以<tag ... >开头)。   如果不是,则将字符串解释为选择器表达式,如   如上所述。但如果字符串看起来像是一个HTML代码段,   jQuery尝试按HTML描述创建新的DOM元素。   然后创建并返回引用这些的jQuery对象   元件。

答案 1 :(得分:4)

$('<img/>') 创建图片,而$('img')选择所有当前存在的图片。

答案 2 :(得分:3)

$('<img />')创建一个要插入DOM的新<img />元素。

$('img')选择所有现有的<img />元素。

通常,可以使用$('<img />')在DOM中创建元素,如下所示:

var toAppend = $('<img />');
toAppend.appendTo($('#myDiv'));

您可以使用$('img');选择器来处理CSS(作为任意示例):

$('img').css('marginTop', 20);

上面将在DOM中的每个图像的顶部添加20px的边距。