Selecting a variable's nested elements - jQuer

2019-02-26 06:37发布

问题:

I wish to pass a variable to a function and have the function select elements within that variable. I'm unfamiliar with the syntax of this case however, could any one advise?

For example, when a button is clicked within a container I wish for that container to be stored in a variable, okay I have that part. But then I wish to select a certain element within that container like

$(container "div#element");

How can you combine the two, noting that these elements could be deeply nested?

回答1:

jQuery gets a second parameter, which determines the scope of the selection. For example $('#first-name', '#registration-form') only matches elements with the first-name id inside registration-form.

I guess you can use this feature. I think $("div#element", container); would work.

See this fiddle.



回答2:

For chainability you can also use:

$(container).find('#element');


回答3:

Use find if you are searching the Dom.

function doSomething(container) {
  var $element = $(container).find('#element');

  // .. Now do something

}

Use filter if you are wanting to search only the elements contained by container.

function doSomething(container) {
  var $element = $(container).filter('#element');

  // .. Now do something

}