$(“”)是一个有效的选择器吗?

时间:2014-01-15 08:28:05

标签: jquery

我知道jQuery的一般模式是选择DOM元素然后对它们进行操作。通过使用如下选择器进行选择:

$( "div.foo" )

我目前正在研究一些代码并发现了这个:

var buttons = $("<tr>").addClass("buttons").append("<td>")

var db_name = $("<input name='db_name' type='text' placeholder='Enter db name     here'>").val(_db_name);

一直在寻找答案的高低,但无法理解为什么$(&#34;&#34;)在正确的选择器不应包含尖括号时有效。

我可以问一下是否有另一种方法来编写具有尖括号的选择器,这就是代码工作的原因?

2 个答案:

答案 0 :(得分:6)

$("<tr>")不是选择器,它会为jQuery(html)

的文档创建一个新的tr元素外观

您的代码var buttons = $("<tr>").addClass("buttons").append("<td>")使用类按钮创建一个新的tr元素,并向其添加td元素。但请注意,它没有添加到文档中(它仍然只是内存中的dom对象)

如果要在页面中查看,请将buttons对象添加到表中

答案 1 :(得分:1)

如果参数字符串包含尖括号,那么它会创建一个新元素,然后您可以操作或添加到dom:

$("<tr>").addClass('row').appendTo('#table');

没有括号,它是一个选择器,它从DOM中选择一个元素。

如果您查看jQuery docs这些是我们看到的两个差异:

// selects an element
jQuery( selector [, context ] )

// creates an element
jQuery( html [, ownerDocument ] )
相关问题