没有父级的jquery子选择器

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/

Nic*_*ver 7

这个带有上下文的选择器:

$('> 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(),实际上这样做更有效率.


Mar*_*rko 3

有一个父级(或者在本例中为 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 中选择后代元素最快的方法是什么?