Javascript <;李>;jquery单击不触发事件
我想在用户单击Javascript <;李>;jquery单击不触发事件,javascript,jquery,Javascript,Jquery,我想在用户单击元素后做一些事情。出于某种原因,什么也没有发生: <ul class="nav nav-list"> <li class="settings" id="mitmachen"> <a href="#"><i class="icon-cog"></i><i class="icon-right-open"></i> Mitmachen</a> </li&g
<ul class="nav nav-list">
<li class="settings" id="mitmachen">
<a href="#"><i class="icon-cog"></i><i class="icon-right-open"></i> Mitmachen</a>
</li>
</ul>
$("mitmachen").click(function(e) {
e.preventDefault();
alert('hi');
$("#participate .section").removeClass('hide');
});
-
$(“mitmachen”)。单击(函数(e){
e、 预防默认值();
警报(“hi”);
$(“#particiate.section”).removeClass('hide');
});
我做错了什么?可能太晚了:D使用jQuery,$(“mitmachen”)
搜索带有标记的元素mitmachen
(如div
或span
)。jQuery使用CSS样式选择器。要通过id
搜索元素,请使用
:$(“#mitmachen”)
此处缺少一个
$("mitmachen").click(function(e) {
应该是
$("#mitmachen").click(function(e) {
另外,这个点击事件应该包装在jqueryready函数中。它包装在ready函数中,我刚刚取了这个片段。但由于某种原因,(我以前试过的)对我来说似乎很管用。。。您是否收到了用#表示ID的“hi”警报?工作:很好的解释。出于某种原因,它仍然不起作用。@user2942586:您一定是在某个地方输入了一个错误,您已经在做另一件事情,这会使它看起来不起作用(即
e.preventDefault()
),所以它应该是上面提到的。在这里工作:如果代码按照问题中显示的顺序,例如,代码位于HTML中mitmachen
元素下方的script
元素中(如果它在它上面,并且没有包装在ready
处理程序或类似程序中,那么当您尝试连接它时,该元素还不存在——请将脚本移到下面[通常就在关闭
标记之前]。由于某种原因,编辑器没有编写文件,因此更改没有上载到我的服务器。使用Github的另一个很好的原因。太烦人了。感谢您的帮助,它现在可以正常工作了。