如何在没有引号的jQuery中追加字符串?

时间:2013-05-12 22:28:14

标签: javascript jquery

假设我们有一段:

<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(但这是一个不同的问题)。

2 个答案:

答案 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');