如何限制jquery搜索范围

看起来JQuery在使用选择器时在当前document中进行搜索。

如何只在div元素中搜索元素?

jQuery选择器的工作方式与CSS选择器非常相似,您可能更熟悉它们。

首先,选择div,然后从中下拉:

 $('#my-div').find('some-selector'). 

或构建您的选择器以匹配相关元素的子元素:

 $('#my-div some-selector') 

老问题,但是每个人似乎都错过了scoped jQuery选择器(使用你想要的范围,即你的div选择器,作为第二个参数)

例如使用

 var $matches = $('.adiv', '#mydiv'); 

这是一个较短的等价物:

 var $matches = $('#mydiv').find('.adiv'); 
 var elems = jQuery(".foo", jQuery("#divYourWantToLimitTo") ); //BAD //or var elems = jQuery("#divYourWantToLimitTo .foo"); //Better //or var elems = jQuery("#divYourWantToLimitTo").find(".foo"); //BEST 

jQuery提供了几种搜索特定元素的方法:

 $("#your_div").find(".your_things"); //Find everything inside //-or- $("#your_div").filter(".your_things"); //Find only the top level //-or- $("#your_div .your_things"); //Easiest 
 var elements = $('div ' + yourSearch); 
 $('div-selector').find('the selector-you-are-looking-for');