在jQuery中,$('body')可以选择body元素,但$('body')可以就像$('some text'),那么如何区分呢?

nop*_*ole 8 jquery jquery-selectors

原因是我们可以做到

$('<div>some text</div>').prependTo('#someDiv')
Run Code Online (Sandbox Code Playgroud)

所以,这也可以:

$('some text').prependTo('#someDiv')
Run Code Online (Sandbox Code Playgroud)

但我们不能改变some textbodybody和任何文字一样好......

(上面的代码添加some text到带有id的div someDiv,那么如果我想将这个单词添加body到div呢?)

但$('body')成为body元素的选择器...所以有一条规则说,我们可以使用任何文本作为HTML代码,只要它不是HTML元素的名称?

Nic*_*ver 8

基本上这永远不会有效:

$('generic text here, *not* a selector or HTML');
Run Code Online (Sandbox Code Playgroud)

这应该始终是选择器(查找元素)或html(创建元素),您可以在$()这里查看API.

您想在此处使用其他DOM插入方法之一,.prepend()在这种情况下:

$('#someDiv').prepend('any text or html here is valid, <b>Hey look bold</b>.');
Run Code Online (Sandbox Code Playgroud)