JQuery append()添加引号和换行符,我不知道为什么

时间:2014-05-30 19:43:23

标签: javascript jquery html

我有一个append语句,一次添加一个字符到一个span。 (这些字符是通过将其视为一个数组而被拉出来的:text[i]等等。)我觉得它应该给我这个:

<span id="outputid0">text</span>

但相反,它给了我这个:

<span id="outputid0">
  "t"
  "e"
  "x"
  "t"
</span>

我认为这是有道理的,目前这不是一个真正的问题,但它看起来有点尴尬,我不确定它为什么会发生。谁能帮我解释一下这个?

编辑:这是JSFiddle的链接,显示了我所谈论的内容的一个示例。谢谢ᾠῗᵲᄐᶌ,似乎已经诊断并解决了这个问题就好了。如果有人想看到它,那就是它。

2 个答案:

答案 0 :(得分:1)

Append在最后一个子节点之后添加一个子节点,这样每个字符都将成为text node,这就是它们被分开的原因

如果你想一次添加一个角色,你最好在那里拍摄什么,并将char连接到已经存在的字符串

你可以使用jQuery的.text(function(){})函数

这样做
// where i = index and v = current text value
$('#outputid0').text(function(i,v){
     return v + "your new char";
});

FIDDLE EXAMPLE

答案 1 :(得分:0)

如果我是一个博彩人,我会说你正在通过数组循环来生成你想要的东西。做这样的事情:记住,我只是假设数据是如何设置的 - 并且仅出于示例目的而显示。

var arr = ['t','e','x','t'];

// just '.join' the array


<span id="outputid0"></span>

// following in script tag
jQuery('#outputid0').text(arr.join(''));

重申Ehsan在上面提到的内容。你真的需要包含你的代码,所以没有&#39;假设&#39;或者猜测&#39;在你想要完成的事情上: - )