Web/JS:使用innerhtml动态添加html导致按钮失败。
前几天,我在使用innerhtml动态添加html到表格中的时候,发现一加入,原来表格中的按钮就会坏掉。
前几天我用innerhtml动态添加html到表格中的时候,发现一加入,原来表格中的按钮就会被打破。经过一番研究,我发现是因为我们在做。
document . body . innerhtml=' XXX ';
时间实际上是:
document . body . innerHTMl=(document . body . innerHTMl ' XXX ');
销毁原元素后用' xxx '重建新元素,所以旧元素的处理程序也被重置(或丢失)!
可见:https://更好的编程
那么有什么更好的选择呢?
查找资料,发现大家都推荐了insertadjacentml的官方文档:insertadjacentml。
它的用法是
element.insertAdjacentHTML(位置,文本);
那么位置有四个位置可供选择:
!-在开始之前-
p
!-开始后-
富(中国姓氏)
!-在结束之前-
/p
!-结尾-
据说比innerHTML更高效,更安全。关键是他甚至可以选择一个位置,用了就回不去了('`?)
其他参考资料:
https://segmentfault.com/q/1010000003893601
https://stackoverflow.com/questions/5113105/operating-innerhtml-移除子元素的事件处理程序
其实这篇文章我已经写过一次了,打算在it状态下发表。结果他跳出了“新手训练期上限到了,没有文章可以发表!””,然后直接毁了我刚才玩了一个小时的东西(?_?)
我:我再也不会以it状态发送任何东西:)
简而言之,我重新打了一篇文章,但我没有力气在《内经》中表达我的爱,就这样吧(麻痹
为了发表这篇文章,我直接开了一个新的Blog,也要感谢它是我的动力(x。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/128324.html