当我调试jQuery代码时,如何判断我的选择器正在运行哪些元素?
我花了几个小时试图弄清楚我的错误,这个代码应该关闭一个输入字段并打开另一个输入字段:
<input id="qty-dropdown" ...>
<input id="qty-box" ...>
...
$('.qty-dropdown').hide();
$('.qty-box').show();
当然问题在于它应该是
$('#qty-dropdown').hide(); // # for ID, not . for class
$('#qty-box').show();
我正在努力确定我是否错误地调用hide()
和show()
,并且没有意识到我在零元素上运行。如果我能够说$('.qty-dropdown')
没有选择任何元素,我就会节省很多时间。
我能做些什么:
$('.some-selector').dump()?
那会给我调试信息吗?
This question有一大堆代码的答案看起来应该转储到控制台中,但是将它放到我的代码中似乎没有把任何东西放到我的Firebug控制台中。
我也意识到我的原始问题可以通过以下方式解决:
alert( $('#js-qty-dropdown').length );
但我正在寻找下一次更完整的解决方案。
答案 0 :(得分:2)
jQuery对象有点像数组。获取所选元素的数量:
$('.qty-dropdown').length
如果您使用Chrome进行调试,则可以注销该对象并将鼠标悬停在不同的元素上,并在页面上突出显示它们:
console.log($('.qty-dropdown'));