Rya*_*son 10 jquery jquery-selectors
我正在查看教程中的一些代码,用于创建旋转木马菜单,并注意到没有父级的父级子选择器.从来没有见过这个,并且对它实际上做的事情感到困惑.
请参阅以下代码:
var $wrapper = $('> div', this).css('overflow', 'hidden'),
$slider = $wrapper.find('> ul'),
$items = $slider.find('> li'),
$single = $items.filter(':first'),
singleWidth = $single.outerWidth(),
visible = Math.ceil($wrapper.innerWidth() / singleWidth), // note: doesn't include padding or border
currentPage = 1,
pages = Math.ceil($items.length / visible);
Run Code Online (Sandbox Code Playgroud)
这里的教程:http://jqueryfordesigners.com/jquery-infinite-carousel/
这个带有上下文的选择器:
$('> div', this)
Run Code Online (Sandbox Code Playgroud)
翻过来使用.find()这样的:
$(this).find('> div')
Run Code Online (Sandbox Code Playgroud)
使用>子选择器只是:
$(this).children('div')
Run Code Online (Sandbox Code Playgroud)
其他人正在做同样的交易,他们可以使用.children(),实际上这样做更有效率.
有一个父级(或者在本例中为 a scope),请注意this选择器内的关键字,它与插件所应用的元素相关。
jQuery 的选择器允许你设置一个范围,它可以是任何 jQuery 元素对象。
考虑
$(".somediv").myplugin();
Run Code Online (Sandbox Code Playgroud)
以及插件内部
$("> div", this)
is actually translated to
$("> div", $(".somediv"))
Run Code Online (Sandbox Code Playgroud)
看看我的一个问题,答案解释了很多关于 jQuery 选择器的内容。 在 jQuery 中选择后代元素最快的方法是什么?