开发者

jQuery - Can I combine object reference with other selectors?

Occasionally I pass an 'object' to jQuery rather than an id or other selectors. For example

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

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

It is useful开发者_开发技巧 when ids are not convenient such as long lists of elements or dynamically created input fields. I actually have seen any examples of passing the object. I just tried it and it works.

My question is: can I combine object selector with other selectors such as I would with ids. so instead of:

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

I wouldn't know how to code it - something like this maybe:

$(e + " .myclass").something

thanks


Do this:

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

or the slightly shorter, yet less efficient version:

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

The reason you can't use + is that your e is a DOM element, which is not a useful type for concatenation into a selector string, since you end up with something like:

"[object HTMLInputElement] .myclass"


This is one way. using the context parameter in jQuery.

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

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜