如何限制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');