jquery 的蛋疼问题。

ic2y__ 2014-05-16 03:31:01
我在实习,不太懂js,搞一个浏览器插件。先贴代码的一部分。

if(patterns.length > 0){
for( var k = 0; k < patterns.length; k ++){
if($(patterns[k]).length > 0){

this.insert(patterns[k]);
}
}
}
this.fixCssBug(site);

关键是中间的 this.insert方法,使用了
$("#main").after(
$("<div>",{"class":"myclass"})
);
这种方法动态插入元素,
this.fixCssBug(site) 会根据不同的站点 对那些动态添加的元素 调整 css,问题来了。用了live 的ready事件 绑定不上啊,

现在采用的办法是 settimeout 一定的延迟,但是我觉得我的办法很蠢。而且在 页面延迟很大的情况下也会失效。

有没有优雅的办法?
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ic2y__ 2014-05-19
  • 打赏
  • 举报
回复
引用 5 楼 dotnetstudio 的回复:
现在的操作一般都是异步调用,保证只是局部刷新
嗯。。。是的。。
ic2y__ 2014-05-17
  • 打赏
  • 举报
回复
引用 3 楼 king4323210 的回复:
既然是模板,为什么不根据标签replace
因为fixcss 还要根据用户需求, 跨模板 调整css。。我现在都是用jquery操作DOM。。不过我现在已经解决了上面这个问题。还是因为不懂js,经过他人指点,this.insert 存在一个异步调用,所以才会发生这种 fixcss要 操作insert进入 的元素,却操作不到的情况。
KeepSayingNo 2014-05-17
  • 打赏
  • 举报
回复
现在的操作一般都是异步调用,保证只是局部刷新
king4323210 2014-05-16
  • 打赏
  • 举报
回复
既然是模板,为什么不根据标签replace
ic2y__ 2014-05-16
  • 打赏
  • 举报
回复
引用 1 楼 yizh1211 的回复:
能说明下,你要实现说明功能么,我的猜想是你要实现将很多节点添加到页面上,然后绑定事件,如果我的猜想是正确的我的解决的方法是,用字符串拼接的方法;然后用$().html(你添加的内容,这样的效率是最高的)
想法是好的,但是这里由模板和 逻辑模块组成。。。模板先渲染出来,然后逻辑模块 进行细微的调整。。。所以不能直接 字符串拼接。
kern不吃酸的 2014-05-16
  • 打赏
  • 举报
回复
能说明下,你要实现说明功能么,我的猜想是你要实现将很多节点添加到页面上,然后绑定事件,如果我的猜想是正确的我的解决的方法是,用字符串拼接的方法;然后用$().html(你添加的内容,这样的效率是最高的)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧