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(“…”)的简写
希望这能回答你的问题。