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