开发者社区> 问答> 正文

一个关于append()的问题,为什么不是按顺序添加?

screenshot为什么出来的效果是先加了part1 part2 再加变量?

展开
收起
小旋风柴进 2016-05-30 13:52:50 2212 0
1 条回答
写回答
取消 提交回答
  • 根据jquery的API。
    append()方法的参数只能是三种:

    html字符串。形如问题中的part1这些的html字符串。
    element。即dom元素。
    jquery。即jquery元素。
    题主没有很好地明白这个方法的用途,而是把它当做了字符串拼接函数。

    第一步append操作时,因为HTML不会允许没有闭合的标签,所以这里jquery会帮你自动闭合, 生成下面这样的结构

    <article><h1></h1></article>
    第二步执行,会在最后加上一个数值,我们假设是1

    <article><h1></h1></article>1
    第三步的参数不合理, jquery不会予以解析, 所以不会有执行结果。

    最终展示的结果就像是先执行了1,3再执行2一样。

    其实是第一步就执行了期望中的1,3操作,实际上3根本没执行。

    所以对于这个问题,根据题主的使用方法来推测, 这里用字符串拼接是最方便的办法。

    `var h = '

    '+localStorage.getItem("at"+i) +'

    ';
    $('#all').append(h)``
    2019-07-17 19:20:28
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载