扫码关注官方订阅号
为什么出来的效果是先加了part1 part2 再加变量?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
根据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 = '<arcitle class="post"><h1>'+localStorage.getItem("at"+i) +'</h1></article>'; $('#all').append(h)
为什么不这样呢?
var h = <arcitle class="post"><h1>'+localStorage.getItem("at"+i) +'</h1></article>'; $('#all').append(h)
可能是因为异步执行?
2楼正解。append是目的为添加元素、dom节点的操作,而不是拼接字符串。。楼主理解错了
固定的part1和part2放到循环外,拼接后一次append
function load_ret(){ var part1 = '<article class="post"><h1>'; var part2 = '</h1></article>'; var i = 1; while(localStorage.getItem("at"+i)){ $('#all').append(part1+localStorage.getItem("at"+i)+part2); i++; localStorage.counter=i; } }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
根据jquery的API。
append()方法的参数只能是三种:
html字符串。形如问题中的part1这些的html字符串。
element。即dom元素。
jquery。即jquery元素。
题主没有很好地明白这个方法的用途,而是把它当做了字符串拼接函数。
第一步append操作时,因为HTML不会允许没有闭合的标签,所以这里jquery会帮你自动闭合, 生成下面这样的结构
第二步执行,会在最后加上一个数值,我们假设是1
第三步的参数不合理, jquery不会予以解析, 所以不会有执行结果。
最终展示的结果就像是先执行了1,3再执行2一样。
其实是第一步就执行了期望中的1,3操作,实际上3根本没执行。
所以对于这个问题,根据题主的使用方法来推测, 这里用字符串拼接是最方便的办法。
为什么不这样呢?
可能是因为异步执行?
2楼正解。append是目的为添加元素、dom节点的操作,而不是拼接字符串。。楼主理解错了
固定的part1和part2放到循环外,拼接后一次append