我怎么能告诉我在jQuery中迭代什么?

时间:2015-02-18 20:32:57

标签: javascript jquery

当我调试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 );

但我正在寻找下一次更完整的解决方案。

1 个答案:

答案 0 :(得分:2)

jQuery对象有点像数组。获取所选元素的数量:

$('.qty-dropdown').length

如果您使用Chrome进行调试,则可以注销该对象并将鼠标悬停在不同的元素上,并在页面上突出显示它们:

console.log($('.qty-dropdown'));