为什么这个jquery片段不起作用

why does this jquery snippet does not works?

本文关键字:片段 不起作用 jquery 为什么      更新时间:2024-06-11

我想知道为什么这个片段在chrome(版本31.0.1650.57 m)上有效,而在firefox(25.0)中无效

<span class="chat user"id="directeur"><a class="user"user="directeur"room="href="#">导演<a><span><脚本>$("a[class=user]").click(函数(事件){alert();});<脚本>

我点击"导演"链接,在chrome上,我会得到一个警报窗口,firefox中什么都没发生。

编辑,我发现了真正的问题

我在另一个函数中更改DOM:

window.setInterval(function(){$.get("url",函数(数据){data.forEach(函数(条目){if(0!=$(".chat connected").find($("#"+entry.user)).size(){$("#"+entry.user).fund("a").css("color","red");$("#"+entry.user).find("a").attr("room",entry.room);}});});},30000);

该更改是对DOM的修改,click-jquery函数不再应用于<a> 属性。

我不知道是什么导致了浏览器之间的差异。也许是</script>标签上缺少的<?不管怎样,你真的应该使用

$("a.user").click(function(event) {
    alert();
}); 

试试这个:

<span class="chat-user" id="directeur">
    <a class="user" user="directeur" room="" href="#">
        directeur
    </a>
</span>
<script>
$("a.user").click(function(event) {
    alert("It works !");
}); 
</script>

当CSS选择器存在时使用它要简单得多。。。

解决方案是更改$("a.user")。用$("a.user")点击(…)。on("点击",…)