开发者社区> 问答> 正文

jquey tabs ajax load html 冲突问题!

tabs load的html,里面有js,也有html,id,都有可能冲突,如何解决?
(不用ifame哦,iframe每次加载明显不如load,即便是缓存,也要初始化很多的,而且iframe内部带的dialog要在iframe外显示也很费劲,多个页面有同样的dialog也会出现这种问题)

展开
收起
云栖技术 2016-05-25 12:36:55 1947 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!

    有三种方案:

    1.用某种命名规范把 id 修改成互不冲突的形式。虽然这个解决方案看起来最不符合题主的要求,但是个人最推荐这么做,会减少后期的不少麻烦。如果这些 html 逻辑上是在同一个界面上的,那么它们就本该具有不同的 id,要不以后写逻辑和样式的时候都会遇到麻烦。

    2假设只是 tab 的 html 会有 id 冲突,且同时显示的 tab 只有一个,那么可以考虑每次切 tab 的时候都把没显示的 tab 从 DOM 里面 detach,当需要的时候再 append。
     3使用` <iframe src="about:blank"></iframe> `来显示 html,通过设置 <iframe> 的 `contentWindow.document.body.innerHTML `可以修改它的内容。如果还希望能很好的显示 html 的外带样式和脚本,还有各种 dialog,也可以有各种 hack 的方法,但总归是个 hack,后患无穷。
    2019-07-17 19:14:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《零基础HTML入门教程》 立即下载
天猫 HTML5 互动技术实践 立即下载
天猫HTML5互动技术实践 立即下载