Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery - Can I combine object reference with other selectors?

Tags:

jquery

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

like image 563
sdfor Avatar asked Dec 14 '25 10:12

sdfor


1 Answers

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"
like image 68
user113716 Avatar answered Dec 17 '25 10:12

user113716



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!