首先,我有点困惑,我无法立刻找到答案.问题是关于代码风格.
考虑一个例子:
$('input[type=text]').on('click', doSomething);
Run Code Online (Sandbox Code Playgroud)
如果页面上没有输入会发生什么?此选择器的结果似乎是null,我们得到一个错误.
所以,我们必须使代码变得更大,更丑陋:
var inputs = $('input[type=text]');
if (inputs) {
inputs.on('click', doSomething);
}
Run Code Online (Sandbox Code Playgroud)
我喜欢jQuery,我希望这个解决方案更优雅,更简洁.
UPDATE
这个问题的原因prototype.js包括在页面上的三方脚本.道歉,我应该在发布SO之前在沙盒中测试问题
jQuery选择器总是会返回一个jQuery对象,你永远不会得到null.
$('#Not exist!').attr('foo', 'foo'); //no error, returns jQuery
Run Code Online (Sandbox Code Playgroud)
不像document.getElementById:
document.getElementById('Not exist!') == null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
408 次 |
| 最近记录: |