【问题标题】:jquery find returning object(s), how i can call even element?jquery 查找返回对象,我如何调用偶数元素?
【发布时间】:2014-12-01 13:22:56
【问题描述】:

我如何处理 jquery "find" 给出的对象?

HTML:

<div class="vars"> <input name="test1" /> <input name="test2" /> </div>

JavaScript:

var inputs = $( '.vars' ).find( 'input' );

alert(inputs); // object object
alert(inputs.length) // 2
alert( $(inputs).attr( 'name' ) ); // test1

但如果我尝试它会改变两种背景颜色

$( inputs ).css( 'background', 'green' );

好吧,我想我也可以像数组一样访问对象

alert( $( inputs[0] ).attr( 'name' ) ); // doesnt work, empty

我的逻辑错误在哪里?

【问题讨论】:

  • alert( $( inputs[0] ).attr( 'name' ) ); 将返回 test1 所以你做错了什么

标签: jquery object for-loop while-loop find


【解决方案1】:

使用.eq()选择器根据索引定位元素:

$(inputs).eq(0).css( 'background', 'green' );

【讨论】:

  • 非常好!太感谢了。工作正常。
  • 正如 A. Wolff 回答的那样,您可以简单地参考找到的数组 - $(found_array[key])。只要记住把 $ 放在前面并将其用作 jQuery 对象。
【解决方案2】:

使用:even 选择器。

 $( '.vars' ).find( 'input:even' );

【讨论】:

  • 你能解释一下吗?它工作不完全。我现在可以将输入作为数组访问,但只有输入 [0] 和输入 [1].. 输入 [2] 未定义(我现在有 3 个输入)
  • @kaito 这将返回所有 even 元素。所以如果你有 3 个输入,由于元素索引是从 0 开始的,它将只返回两个输入:input-0 和 input- 2(甚至被索引)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-19
  • 1970-01-01
  • 2016-01-22
  • 1970-01-01
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多