jQuery是否可以使用结束标记作为选择器?

时间:2015-08-26 09:55:51

标签: javascript jquery html dom

我是jQuery的新手。我浏览了这个使用<div />作为选择器的jQuery代码:

$("<div />").html(someString).text();

首先,我想知道它是否是合法的代码,因为div有一个结束标记:</div>

但是我的主要问题 - jQuery是否可以使用结束标记作为选择器,这些代码的结果是什么?

这样的代码怎么办?我做了一些研究,heremeagar说:

  

DOM中没有“结束标记”这样的东西。标签,结束或其他,是标记的一个组成部分,DOM只有元素。

但jQuery是否将结束标记视为对DOM元素的引用,就像处理开始标记一样?

非常感谢。

3 个答案:

答案 0 :(得分:6)

它不是选择器,我们正在创建一个新的dom元素div并在此处设置其文本内容。

如果jQuery的参数是一个字符串且其第一个字符是<,则传递的字符串不被视为选择器,而是被视为创建新元素的请求。

  

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

它也不是结束标记,它是一个表示开始和结束符号组合为一个的符号,因此它与<div></div>

相同

答案 1 :(得分:2)

  

我浏览了这个使用<div />作为选择器的jQuery代码

那不是一个选择器。 jQuery可以接受很多不同的东西作为jQuery / $函数的第一个参数。在这种情况下,它是一个HTML字符串,将用于创建新元素

  

首先,我想知道它是否是使用

的合法标签

它不是HTML,但jQuery支持一些自定义语法来创建元素。

请参阅the documentation

  
    

当参数包含单个标记(带有可选的结束标记或快速关闭) - $( "<img />" )$( "<img>" )$( "<a></a>" )$( "<a>" )时,jQuery会使用本机JavaScript .createElement()函数。

  
  

jQuery是否可以使用结束标记作为选择器

没有。从DOM中选择元素时,jQuery仍然只能访问元素 - 不是开始标记,不是结束标记,只是完整的元素。

答案 2 :(得分:1)

它不是选择器。是<div>标记的创建。在正常情况下,它附加在另一个元素之后或之前。

请注意:<div/>不是结束标记,是一个打开和关闭标记。

此:

 <div/>

与此相同:

  <div></div>