jQuery将找不到元素
问题描述:
我有这样的JS代码:jQuery将找不到元素
(function($, undefined) {
$("a").click(function(event) { //or another elemtnt
alert('Hello!');
})
})(jQuery);
当然链接:
<a href="http://google.ru/" target="_blank">Google</a>
的JS代码不工作,但如果我把它改为:
(function($, undefined) {
$("*").click(function(event) {
alert('Hello!');
})
})(jQuery);
所有的作品!
答
如果你已经把你的JavaScript的a
节点被载入像你描述的效果将是什么了。试试这个:
$(function() {
$("a").click(function(event) { //or another elemtnt
alert('Hello!');
})
});
这将在DOM树准备好时调用匿名函数。以下是JSFiddle中的一个示例。
当您使用*
作为选择器时,jQuery将单击处理函数添加到html
元素,这就是您获取警报的原因。
答
这是一个可能的解决方案:
$(document).ready(function() {
// put all your jQuery goodness in here.
});
你为什么不给一个ID给它,并选择$('#my-id')
设置的事件?
答
你为什么不试试document.ready?
$(document).ready(function(){
$('a').click(function(){
alert("a");
});
});
请您提供的jsfiddle? – jantimon 2013-02-18 12:05:41
如果添加此代码在控制台(铬) - 所有完美的http://jsfiddle.net/A2WhV/ – row248 2013-02-18 12:08:02
它也适用于前者的情况:http://jsfiddle.net/KsFWZ/ – 2013-02-18 12:08:48