为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery基础DOM篇-保留数据的删除操作detach(),先点击bt2出现4个,6个,8个p的问题

慕友问:(如果先点击bt2,那不就出现了4个p了吗?这种情况如何避免,是不是要添加一个判断呢?)其实这里还有其他的问题,当我先点击bt2后,再去提交页面,然后再点击bt2将会出现6个p了,依次类推,还会出现8个,10个...这时我们可以参照bt1事件下的判断,在bt2下添加判断if($("p").length>=2) return;这样能避免上述问题。但是这里为什么会出现4个,6个,8个...的情况,我还没弄懂!我这里是这样写的$(p).prependTo($("body"));这样写(p没有加上引号)才能正常通过,但是p没有加上引号不是选择的元素,它是怎么添加的呢?

正在回答

3 回答

不知道你的具体代码是什么 如果是这里的话 题目里的p 就是detach的p标签 p是变量 不用加引号


0 回复 有任何疑惑可以回复我~
#1

Just90 提问者

感谢!后来我也这么想过,只是无法说服自己
2016-07-11 回复 有任何疑惑可以回复我~

你有试过在自己的本地测试一下吗?慕课网在不刷新页面的情况下提交是会产生缓存的,即后来每次的移动P元素是你上一次删除的p元素,所以会每次都加2个啊~~

2 回复 有任何疑惑可以回复我~
#1

Just90 提问者

感谢提醒!是的,当我在本地调试时,没有提交,就没有出现先点击bt2,多出现几个p的情况。至于之前不理解的为什么会出现多个p的问题应该就是你说的,在不刷新页面的情况下产生的缓存,导致先点击bt2出现多个p把人误导的假象,让我对此题理解不顺!这样把问题变得简单了,更容易理解,也更有信心接着学习其他内容。再次感谢!
2016-07-12 回复 有任何疑惑可以回复我~

他在btn1绑定的时间中使用了 if (!$("p").length) return; //去重,这里将p给清空了

0 回复 有任何疑惑可以回复我~
#1

Just90 提问者

你回答的和我问的无关
2016-06-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

jQuery基础DOM篇-保留数据的删除操作detach(),先点击bt2出现4个,6个,8个p的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信