Jquery最佳实践,在附加事件之前检查按钮/链接的存在

A B*_*gus 1 jquery

我有一个网页,其中包含可能存在或不存在的按钮和链接.我有jQuery运行并为click这些按钮和链接分配事件.

在我尝试附加或任何其他事件之前检查按钮或链接是否存在是不好的做法click?有什么影响?

如果我应该检查按钮和链接是否存在,最佳做法是什么技术?像这样检查长度 - $('myButton').length != 0或其他方式?

T.J*_*der 10

除非你需要做一些与众不同的事情,否则绝对不需要提前检查.

假设您可能有也可能没有带id值的按钮"myButton".如果你这样做:

$("#myButton").click(function() { /* ..... */ });
Run Code Online (Sandbox Code Playgroud)

...并且按钮不存在,没有连接处理程序.这实际上是一种无操作.

另一种方法是:

var btn = $("#myButton");
if (btn.length !== 0) {
    btn.click(function() { /* ... */ });
}
Run Code Online (Sandbox Code Playgroud)

...它不会为您节省任何东西(您仍然需要查看DOM),但确实涉及更多代码.

这是关于jQuery的"集合论"方法的一个好处:如果集合为空,集合上的操作不会失败,它们就是什么都不做.