我对jQuery中的美元符号感到有些困惑,并希望有人可以帮助我。
我有以下函数声明:
$(function() {
$( "#create-discussion" ).button().click(function() {
alert("Clicked");
});
$( "#listitems tr" ).click(function(event) {
alert("clicked");
});
});
由于某种原因,“创建 - 讨论”按钮的第一个函数声明工作正常;单击时,会出现一个弹出窗口。但是,第二个不起作用,当我单击表行时没有生成弹出窗口。
关于按钮onClicks与表行onClicks有什么细微差别吗?我错过了一些愚蠢明显的东西吗?
此外,我认为如果有人解释了$(function() {})
实际上做了什么会有所帮助,因为我将其视为$(document).ready()
,我不确定我是否可以这样做。< / p>
答案 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(“...”)
的简写希望这能回答你的问题。