假设我们有一段:
<p>txt0</p>
...我们想附加一些文字:
$("p").append("_txt1");
$("p").append("_txt2");
$("p").append("_txt3");
结果将如预期那样:
txt0_txt1_txt2_txt3
但是,如果我们在浏览器中检查结果,它实际上是什么:
<p>
"txt0"
"_txt1"
"_txt2"
"_txt3"
</p>
有4种不同的字符串只能呈现为一种。问题是我正在动态创建一个flash对象,并且这种方式附加字符串因为引号而无效。我真的需要它像这样一个连续的字符串:
<p>
txt0_txt1_txt2_txt3
</p>
有没有办法以这种方式追加?或者之后删除所有报价?
PS。在你说要在追加之前制作一个大字符串之前,这将无效,因为字符串太大而且对于ex。它适用于Chrome,但不适用于Firefox或IExplorer(但这是一个不同的问题)。
答案 0 :(得分:1)
使用text
,否则您每次都会附加一个新的TextNode:
var $p = $('p');
$p.text('txt0');
$p.text($p.text() + '_txt1');
或者使用textContent
时不那么令人困惑:
var p = $('p')[0];
p.textContent += 'txt0';
p.textContent += '_txt1';
...
答案 1 :(得分:0)
您可以这样操作p-tag中的html:
$('p').html($('p').html() + '_text');