我想知道为什么这个代码段适用于chrome(版本31.0.1650.57 m)而不适用于firefox(25.0)
<span class="chat-user" id="directeur"> <a class="user" user="directeur" room="" href="#"> directeur </a> </span> <script> $("a[class=user]").click(function(event) { alert(); }); </script>
我点击“directeur”链接,在chrome上,我得到一个警告窗口,在Firefox中没有任何反应。
编辑,我发现问题究竟是什么
我在另一个函数中更改了DOM:
window.setInterval(function() { $.get("url", function(data) { data.forEach(function(entry) { if (0 != $( ".chat-connected" ).find($("#"+entry.user)).size()) { $("#"+entry.user).find("a").css("color", "red"); $("#"+entry.user).find("a").attr("room", entry.room); } }); }); }, 30000);
这个改变正在改变DOM,并且点击jquery功能不再适用于&lt; a&gt;属性。
答案 0 :(得分:1)
我不知道浏览器之间的差异是什么。也许<
标签上缺少</script>
?无论如何,你应该真的使用
$("a.user").click(function(event) {
alert();
});
答案 1 :(得分:1)
请改为尝试:
<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选择器时更简单......
答案 2 :(得分:0)
解决方案是更改$(“a.user”)。点击(...) $(“a.user”)。on(“click”,...)