我是jQuery的新手。我浏览了这个使用<div />
作为选择器的jQuery代码:
$("<div />").html(someString).text();
首先,我想知道它是否是合法的代码,因为div
有一个结束标记:</div>
。
但是我的主要问题 - jQuery是否可以使用结束标记作为选择器,这些代码的结果是什么?
这样的代码怎么办?我做了一些研究,here,meagar说:
DOM中没有“结束标记”这样的东西。标签,结束或其他,是标记的一个组成部分,DOM只有元素。
但jQuery是否将结束标记视为对DOM元素的引用,就像处理开始标记一样?
非常感谢。
答案 0 :(得分:6)
它不是选择器,我们正在创建一个新的dom元素div
并在此处设置其文本内容。
如果jQuery的参数是一个字符串且其第一个字符是<
,则传递的字符串不被视为选择器,而是被视为创建新元素的请求。
如果一个字符串作为参数传递给$(),jQuery会检查 字符串,看它是否看起来像HTML(即,它开始)。 如果不是,则将字符串解释为选择器表达式,如 如上所述。但如果字符串看起来像是一个HTML代码段, jQuery尝试按HTML描述创建新的DOM元素。 然后创建并返回引用这些的jQuery对象 元素。您可以在此执行任何常用的jQuery方法 对象:
它也不是结束标记,它是一个表示开始和结束符号组合为一个的符号,因此它与<div></div>
答案 1 :(得分:2)
我浏览了这个使用
<div />
作为选择器的jQuery代码
那不是一个选择器。 jQuery可以接受很多不同的东西作为jQuery
/ $
函数的第一个参数。在这种情况下,它是一个HTML字符串,将用于创建新元素。
首先,我想知道它是否是使用
的合法标签
它不是HTML,但jQuery支持一些自定义语法来创建元素。
当参数包含单个标记(带有可选的结束标记或快速关闭) -
$( "<img />" )
或$( "<img>" )
,$( "<a></a>" )
或$( "<a>" )
时,jQuery会使用本机JavaScript .createElement()函数。
jQuery是否可以使用结束标记作为选择器
没有。从DOM中选择元素时,jQuery仍然只能访问元素 - 不是开始标记,不是结束标记,只是完整的元素。
答案 2 :(得分:1)
它不是选择器。是<div>
标记的创建。在正常情况下,它附加在另一个元素之后或之前。
请注意:<div/>
不是结束标记,是一个打开和关闭标记。
此:
<div/>
与此相同:
<div></div>