jquery 通过html方法增加对象后hover失效怎办?

jquery 通过html方法增加对象后hover失效怎办?,第1张

1.$("#msg").html($("#msg").html()+inner)

其实不是失效了,而是dom树改变了,#msg 里面的内容改变,就不是原来的 .list 了

2.$("#msg").append($(inner)

新加入的 $(inner) ,不在原本的 $('.list') 集合里,因此新加入的没有被绑定事件

我这给出两种做法:

① 在 #msg 内容改变后,给新加入 .list 绑定一次 hover;

② 将事件绑在 $(document) 上,例:

$(document).on('mouseover','.list',function(){

//...

})

不过方法②貌似没有hover写法。

仅供参考~

.head_ad:hover ad_in{dispaly:block}

改为

.head_ad:hover .ad_in{dispaly:block}

少了一个点

元素添加hover伪类选择器时候一定要 紧贴 这hover, 不能有空格 ,有空格的话表示给该元素的所有子元素设置里hover样式。

错误例子

ul :hover{} //ul的所有子元素设置了hover样式

正确例子:

ul:hover{} //ul会显示出想要的效果

ul:hover .one{// 子元素写在hover后面空格隔开

              transform:rotateY(90deg)

          }

 ul:hover .two{

              transform:rotateY(0deg)

          }

ul:hover .thr{

              transform:rotateY(360deg)

          }

仅可以给自身的子元素设置样式 ,给其他元素子元素设置无效

接着上个例子举例子:

div:hover .one{}//不显示任何效果,hover失效

给兄弟元素设置:

ul:hover+.one


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11355278.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存