jquery代码选择器

时间:2011-12-13 18:04:57

标签: jquery

我有这个代码是别人写的,我想知道,这个jQuery代码选择了什么?这是有效的jQuery代码吗?

var a = $("<h3/>").append($("<a/>", {
    href  : "/comic/title.html",
    class : "comic-link"
}).text("comic-name"));

我从未见过像<h3/><a/>那样使用HTML标记。

7 个答案:

答案 0 :(得分:6)

上面的代码片段没有选择任何内容,它会创建DOM元素并随后对其进行操作。

请参阅此方法的here for the jQuery documentation

答案 1 :(得分:5)

没有选择创建jQuery对象

jQuery() documentation中所述:

  

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

所以,基本上,更具体一点:jQuery创建DOM元素,然后为它们创建jQuery对象,然后返回它们。这就是发生的事情。它没有包括选择任何东西。

答案 2 :(得分:5)

  1. $("<h3/>"创建一个新的h3元素
  2. $("<a/>", { attributes})创建一个包含这些属性的<a/>
  3. .text()附加文字
  4. var a =整个未附加的新创建的DOM元素(包装在jQuery对象中)

答案 3 :(得分:4)

它并没有真正选择任何东西。它将创建一个新的<h3>元素并将锚点作为子项插入...

<h3>​
    <a href=​"/​comic/​title.html" class=​"comic-link">​comic-name​</a>​
</h3>​

那么你的变量a将被赋予一个表示这个的jQuery对象。

答案 4 :(得分:2)

通常$("<h3/>")符号用于创建新的H3元素,您可以稍后添加。我这样做了$("<h3/>").html("Text").appendTo("..");所以也许这里的附肢部分不见了。

答案 5 :(得分:2)

它正在创建一个<h3>元素并在其中插入(附加)一个链接。

<h3>
    <a href="/comic/title.html" class="comic-link">comic-name</a>
</h3>

答案 6 :(得分:2)

以下是此jQuery Docs