在以下网页
中在“示例:在所有段落之后插入DOM元素”。它包括以下代码:
$( "p" ).after( document.createTextNode( "Hello" ) );
似乎document.createTextNode()实际上是不必要的......它仍然可以使用普通字符串......
e.g。
$('a').eq(0).after('TEST')
如果您在控制台中输入(至少在Chrome和Firefox中),则会将TEST添加到左上方StackExchange链接的末尾。
在.after()网页上,它说它采用以下类型:
键入:htmlString或Element或Array或jQuery HTML string,DOM 元素,元素数组或每个后要插入的jQuery对象 匹配元素集合中的元素。
http://api.jquery.com/Types/#htmlString
表示:
// Appends <b>hello</b>:
$( "<b>hello</b>" ).appendTo( "body" );
//Appends <b>hello</b>:
$( "<b>hello</b>bye" ).appendTo( "body" ); //
// Syntax error, unrecognized expression:
bye<b>hello</b> $("bye<b>hello</b>" ).appendTo( "body" );
虽然这样的事情......
$('a').eq(0).after('bye<b>hello</b>')
无论如何,我以前从未见过像在after()之类的函数中使用的非HTML字符串...我只在text()之类的东西中使用它们。因此,使用它是一个坏主意,因为其他人似乎没有使用它?另一方面,没有document.createTextNode(),代码就更简单了。
答案 0 :(得分:0)
在附加文字字符串时,您不太可能需要使用这样的语法。但是您可以通过引用一些现有的DOM元素来获取文本节点。文档只是以此为例来说明可以使用DOM元素。