jQuery美元符号混乱

时间:2011-06-03 17:17:03

标签: javascript jquery events onclick dollar-sign

我对jQuery中的美元符号感到有些困惑,并希望有人可以帮助我。

我有以下函数声明:

$(function() {
    $( "#create-discussion" ).button().click(function() {
        alert("Clicked");
    });

    $( "#listitems tr" ).click(function(event) {
        alert("clicked");
    });
});

由于某种原因,“创建 - 讨论”按钮的第一个函数声明工作正常;单击时,会出现一个弹出窗口。但是,第二个不起作用,当我单击表行时没有生成弹出窗口。

关于按钮onClicks与表行onClicks有什么细微差别吗?我错过了一些愚蠢明显的东西吗?

此外,我认为如果有人解释了$(function() {})实际上做了什么会有所帮助,因为我将其视为$(document).ready(),我不确定我是否可以这样做。< / p>

2 个答案:

答案 0 :(得分:12)

美元符号($)实际上是jQuery函数的别名。根据{{​​3}},如果您将回调作为参数传递给此函数,将在DOM准备就绪时执行

当涉及到问题的第二部分时(关于为什么代码的第二部分不起作用):只需检查选择器。对我而言,它工作得很好(参见the documentation - 它没有.button()方法,因为我没有加载jQuery UI),所以这可能是由不正确的选择器引起的。

答案 1 :(得分:4)

只要您的选择器文字“#listitems tr”有效选择,您所做的就应该有效。

您可以通过执行测试...如果结果为0,则表示jQuery未找到任何有效项

alert($("#listitems tr").length);

拨打电话时

$("a").click(function(evt) { alert("hello world!"); });

您将点击事件绑定到所有&lt; a&gt;您网页上的标签。你可以用...做同样的事情。

$("a").click(myFunc);
function myFunc(evt) { alert("hello world!"); }

点击功能可以附加到任何html元素。它不一定是一个按钮,它可以是,等等。虽然你只能通过这样做来调用实际事件,但你只能触发点击这个元素。

$( “a”)的单击();

$(“...”)只是输入jQuery(“...”)

的简写

希望这能回答你的问题。

相关问题