我试图使用append函数创建有效的html,但是所需的输出无效。JQuery中还有其他函数可以使用吗?
$('#d').empty();
$('#d').append('<ul class="ch">');
for (i = 0; i < messages.length; i++) {
$('#d').append('<li class="in">');
$('#d').append('<img class="avatar">');
$('#d').append(' <div class="message">');
$('#d').append(' <span class="arrow"></span>');
$('#d').append(' <a href="#" class="name">'+ userName +'</a>');
$('#d').append(' <span class="datetime">at 11/11/1111</span>');
$('#d').append(' <span class="body">' + message + '</span>');
$('#d').append(' </div>');
$('#d').append('</li>');
}
$('#d').append('</ul>');发布于 2014-10-26 06:45:27
使用
$('#d').html('Your code here')更容易。
此外,您还可以将这些选择的代码存储在模板块中--并使用替换函数(或者更好的方法--查看一下js、t放好引擎--比如车把、下划线等等)。
此外,在您的情况下,您只需在一个步骤中附加整个代码即可。
$('#d').append('<li class="in"><img class="avatar"><div class="message"><span class="arrow"></span>
<a href="#" class="name">{USER}</a><span class="datetime">at 11/11/1111</span> <span class="body">{MSG}</span> </div> </li>'.raplace('{USER}', username).replace('{MSG}', message) )(如果要将html代码存储在模板块中,那么您就有了格式化的能力(如果是漂亮的话)
对于您的情况,它可能看起来像http://jsbin.com/zihiticeva/1/edit?html,js,output
发布于 2014-10-26 07:11:34
追加的问题是它应该追加完整的html元素。
这将不像预期的那样工作(我在jsfiddle上测试了这一点,并添加了两个li元素)。
$('#d').append('<li class="in">');
$('#d').append('</li>');这应该能行
$('#d').append('<li class="in"></li>');https://stackoverflow.com/questions/26570503
复制相似问题