偶尔我会将一个'对象'传递给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
感谢
答案 0 :(得分:6)
这样做:
$(e).find(".myclass").something();
或稍短但效率较低的版本:
$(".myclass", e).something();
你不能使用+
的原因是你的e
是一个DOM元素,它不是用于连接到选择器字符串的有用类型,因为你最终会得到类似的东西: / p>
"[object HTMLInputElement] .myclass"
答案 1 :(得分:2)