javascript - 使用jQuery中append的新结点的class效果无效?
PHP中文网
PHP中文网 2017-04-10 17:27:48
[JavaScript讨论组]

使用jQuery中append的新结点的class=“popovers”效果无效?

使用的是Bootstrap中的popovers效果,但是由于数据需要动态添加。而添加完的结点没有这个效果。


<a id="id" class='popovers' data-trigger='hover' data-placement='top'data-content=' 显示的文字'>文字</a>"
                        

  • 同样这份代码,如果直接写在HTML中,是有效的但是后期通过Ajax添加进去则是无效的。

那么我应该怎样去解决这个问题呢?

PHP中文网
PHP中文网

认证0级讲师

全部回复(5)
迷茫

你可以这样子理解:在浏览器打开后,加载资源文件,加载dom树,渲染css,OK,一个页面完成了(静态了),然后你又添加了一个节点,可是页面已经渲染好了(onload已执行完了),所以,你新加的节点,css样式每一效果,你可以委托绑定事件,再动态给添加的原生再单独添加一次样式(修改和设置,一个意思);比如你点击某个元素,添加节点,委托父元素,绑定新元素样式添加事件

PHP中文网

重新绑定事件

迷茫

因为这里在html中写的这些attr都是通过js去执行的,如果你在ajax动态加载新的节点,虽然可以在html中再次添加这些属性,但是js却不会重新执行,所以没有效果。
你看看bootstrap的官方文档,看看有没手动让这个效果执行的方法,可以在新的节点加载出来后,手动调用这个效果。

高洛峰

ajax改为同步请求

PHP中文网

bootstrap有的东西,在动态添加的情况下是会失效的,比如我现在$('a').click(function(){....}),在动态添加的元素是不会执行的,你需要去仔细看看文档,看看人家的提示

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号