jQuery美元符号混乱

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

我有以下函数声明:

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

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

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

另外,我认为如果有人解释$(function() {})实际上做了什么会有所帮助,因为我把它当作$(document).ready()对待它,我不确定我是否可以做那。

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

当谈到问题的第二部分时(关于为什么代码的第二部分不起作用):只需检查选择器。 对我来说它是完美的工作(请参阅jsfiddle – 它没有.button()方法,因为我没有加载jQuery UI),所以这可能是由不正确的选择器引起的。

只要你的选择器文本“#listitems tr”有一些有效的选择,你所做的就应该工作。

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

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

当你打电话时

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

您将点击事件绑定到页面上的所有标签。 你可以用同样的方式做同样的事……

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

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

$( “A”)点击();

$(“…”)只是输入jQuery(“…”)的简写

希望这能回答你的问题。