jQuery - 我可以将对象引用与其他选择器结合使用吗?

时间:2011-01-03 17:38:16

标签: jquery

偶尔我会将一个'对象'传递给jQuery而不是id或其他选择器。例如

<input type="text" onclick="doit(this)" />

<script type="text/javascript">
function doit(e) {
    var a = $(e).val();
}

当id不方便时很有用,例如长元素列表或动态创建的输入字段。我实际上看过任何传递对象的例子。我只是尝试过它并且有效。

我的问题是:我可以将对象选择器与其他选择器结合使用,例如我会使用id。所以代替:

$("#myDiv .myClass").something()

我不知道如何编码 - 这样的事情可能是:

$(e + " .myclass").something

感谢

2 个答案:

答案 0 :(得分:6)

这样做:

$(e).find(".myclass").something();

或稍短但效率较低的版本:

$(".myclass", e).something();

你不能使用+的原因是你的e是一个DOM元素,它不是用于连接到选择器字符串的有用类型,因为你最终会得到类似的东西: / p>

"[object HTMLInputElement] .myclass"

答案 1 :(得分:2)

这是一种方式。使用context parameter in jQuery

http://api.jquery.com/jQuery/

$(".myclass", e).something();