我有这个代码是别人写的,我想知道,这个jQuery代码选择了什么?这是有效的jQuery代码吗?
var a = $("<h3/>").append($("<a/>", {
href : "/comic/title.html",
class : "comic-link"
}).text("comic-name"));
我从未见过像<h3/>
或<a/>
那样使用HTML标记。
答案 0 :(得分:6)
上面的代码片段没有选择任何内容,它会创建DOM元素并随后对其进行操作。
答案 1 :(得分:5)
没有选择,创建jQuery对象。
如果将字符串作为参数传递给$(),jQuery将检查字符串以查看它是否看起来像HTML(即,它在字符串中的某处)。如果不是,则将字符串解释为选择器表达式,如上所述。但如果字符串看起来像是HTML代码段,则jQuery会尝试按照HTML 的描述创建新的DOM元素。然后创建一个jQuery对象并返回,引用这些元素。
所以,基本上,更具体一点:jQuery创建DOM元素,然后为它们创建jQuery对象,然后返回它们。这就是发生的事情。它没有包括选择任何东西。
答案 2 :(得分:5)
$("<h3/>"
创建一个新的h3元素$("<a/>", { attributes})
创建一个包含这些属性的<a/>
.text()
附加文字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。