在以下网页htmlString和document.createTextNode VS在jquery的纯字符串
“实施例:插入所有段落之后的DOM元素。”部,它包括以下代码:
$("p").after(document.createTextNode("Hello"));
似乎document.createTextNode()实际上是不必要...它仍然可与纯字符串...
例如
$('a').eq(0).after('TEST')
如果您键入的是,在控制台(在Chrome和Firefox至少)将其添加到测试在左上角的StackExchange链路的末端。
在。经过()网页,它说需要以下类型:
类型:htmlString或元或阵列或jQuery的HTML字符串,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>')
反正我没见过正在使用非HTML字符串在after()之前的函数中......我只在text()等东西中使用它们。那么使用它是不是一个好主意,因为其他人似乎没有使用它?另一方面,如果没有document.createTextNode(),代码更简单。
它使用了一个节点,因为它是向该方法提供DOM元素的示例。是的,一个字符串也可以使用,但这不适合这种情况。 – Barmar