jQuery,如何使用for循环打印文本两次?

时间:2013-05-30 19:11:49

标签: jquery

我在这里做错了什么?


我有以下代码:

HTML:

<div></div>

jQuery的:

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

我的输出:

  

sometext

我的期望:

  

sometext sometext

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

3 个答案:

答案 0 :(得分:6)

使用.append()

.text替换之前的内容。

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

<强> Check Fiddle

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

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

<强> Fiddle 2

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

答案 1 :(得分:1)

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

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

append(和appendTo)函数需要HTML,而不是文本。实际上,任何特殊字符(例如&lt;和&gt;)都不会被转义,而是以HTML格式处理。这可能是你想要的也可能不是。

有关创建/附加文字与HTML的详细信息,请查看appendtext

的文档和示例

答案 2 :(得分: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 /