3

我在这里做错了什么?


我有以下代码:

HTML:

<div></div>

jQuery:

for(var i = 0; i < 2; i++){
  console.log('test');
  $('div').text('sometext ');
}

我的输出:

一些文本

我的期望:

一些文本 一些文本

为什么这不会将文本打印到 div 两次?

4

3 回答 3

6

利用.append()

.text 替换之前的内容。

for(var i = 0; i < 2; i++){
  console.log('test');
  $('div').append('sometext');
}

检查小提琴

或者

如果你真的想使用text你可以这样做

var html = '';
for(var i = 0; i < 2; i++){
  console.log('test');
  html += 'sometext ';
}
$('div').text(html);

小提琴 2

将文本存储在变量中,然后在 for 循环之后使用文本。

于 2013-05-30T19:13:23.493 回答
0

我建议使用 createTextNode 调用而不是仅使用 append,即:

for(var i = 0; i < 2; i++){
  console.log('test');
  $('div').append(document.createTextNode('sometext');
}

append(和 appendTo)函数需要 HTML,而不是文本。实际上意味着任何特殊字符(例如 < 和 >)都不会被转义,而是会被处理为 HTML。这可能是也可能不是您想要的。

有关创建/附加文本与 HTML 的更多信息,请查看附加文本的文档和示例

于 2013-05-30T19:29:58.640 回答
0
Print Footer At Bottom Of Page

<div 
media="print"
class="no_screen" 
style=" margin-bottom:0;        
    font-size:10px;
    font-family:arial;
    text-align:center;
    width:100%;
    letter-spacing:2px;
    bottom: 0;
    position: fixed;
    color:black; "
>Designed By Good People.</div>   

工作示例链接

jsfiddle.net/ROYALHUNTER/A85QL/

于 2014-01-29T06:22:19.780 回答