jQuery不会找到元素

时间:2013-02-18 12:03:24

标签: javascript jquery

我有这个js代码:

(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);

一切正常!

3 个答案:

答案 0 :(得分:3)

如果您在加载a节点之前放置了JavaScript,则效果将与您描述的类似。试试这个:

$(function () {
    $("a").click(function(event) { //or another elemtnt
        alert('Hello!');
    })
});

这将在DOM树准备好时调用匿名函数。以下是JSFiddle中的示例。

当您使用*作为选择器时,jQuery会将单击处理程序添加到html元素,这就是您收到警报的原因。

答案 1 :(得分:0)

为什么不尝试使用document.ready?

$(document).ready( function (){
    $('a').click(function (){
        alert("a");
    });
});

答案 2 :(得分:-1)

这是一个可能的解决方案:

$(document).ready(function() {
    // put all your jQuery goodness in here.
});

为什么不给它一个ID并选择$('#my-id')来设置事件?