jquery如何把html作为字符串变量在js里拼接?

例如:

<ul id="app"></ul>

<div id="content">
    <h1>标题</h1>
    <p><内容>
</div>
var context = '',
    list = $('#content').clone();
    
for(var i = 0; i < 10; i++){
    context += '<li>' + list + '</li>';
}

$("#app").append(context);

想做这样一个操作,但是这个写法不对,请问怎样写可以实现?

阅读 5k
2 个回答

不知道你是不是要这样的效果。不过要注意 id="content"重复的情况。

var context = '',
    list = $('#content').clone().prop("outerHTML");
    
for(var i = 0; i < 10; i++){
    context += '<li>' + list + '</li>';
}

$("#app").append(context);

js里面写的list对应的jq对象,字符串和对象拼接会将对象转为string类型,所以结果会和预期想的不一样,改为如下

  var context = '',
        list = $('#content');
    for (var i = 0; i < 10; i++) {
        context += '<li><div id="content"><h1>标题</h1><p><内容></p></div></li>';
    }
    $("#app").append(context);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题