基本概念缺失

时间:2013-09-14 21:41:26

标签: jquery jquery-isotope

很明显,我不了解jquery的基本内容,因为我甚至不确定该怎么称呼它。我会冒''wrap-set',现在就会使用这个术语。

我的场景:使用jquery Isotope作为顶部字母按钮A-Z的语言字典。

<div id="container">
    <div class="element"> (say, 100 of these)
        <div class=titlePE></div>
        a few other divs
    </div>
</div>

在我看来,包装集是累积的,因为它将每个新的平铺集添加到整体。当我尝试为瓷砖编号时,这一点变得清晰了:

$(".letter").click(function() {
    $('.element').each(function(index) { // NUMBERS INCREMENTAL
         $(this).find('.titlePE').before('<p class="number">' + index + '</p>');
    }); 
});

第一个字母A:1,2,3 ......和第二个B:100,101 ......等返回A:1,2,3 ... B:100 ......我尝试过$('。element')。detach(); (空,删除)和编号如预期的那样:0,1,2 ......

问题:

1)我假设从0,1,2 ...包裹集是一个数组?我理解固有的迭代,但总的来说是有效的。是否可以隔离特定的字母集,数组子集;说'C',例如:字母[2]或.element [0] [2] - 或者其他一些?

2)如果包装集是累积的,那么如何测试是否已加载特定的字母集并避免每次单击字母时加载ajax?这让我想到,“为什么不在加速时加载所有数据?” - 假设我可以在点击上抓一个字母集,如上面的1)?我猜这个第一级A-Z演示文稿总共会有大约800kb的数据。不是那么大。两个问题? 2a 2b

我用谷歌搜索,搜索了我所拥有的两本书,并且通常划伤了各种各样的身体部分但是一切似乎与固有的迭代,一个数据块有关。我很抱歉,如果这一切都过度徘徊,但希望你能给我一些指导或进一步梳理我的想法,或者给我一些关键词或jquery函数,我可以研究。我需要个东西。一个新的爱好:)我渴望学习所以任何指导将不胜感激。非常感谢你们已经阅读过这篇文章了。

2 个答案:

答案 0 :(得分:1)

是的,这个DOM查询的结果是一个jQuery包含的匹配元素数组,并且数组元素的顺序基于DOM中每个元素的位置。如果要过滤返回的数组,可以使用jQuery的.filter()方法。要检查特定元素是否存在,可以使用.length属性。

对于自动发布返回的集合,您可以使用console.log() / console.dir()

答案 1 :(得分:1)

jQuery将根据您提供的选择器返回结果集。返回的jQuery对象由与提供的选择器匹配的DOM元素数组支持。

您可以(并且应该在使用Isotope时)为元素分配其他类以帮助选择。它没有 成为类 - Isotope将与任何jQuery选择器一起使用,但基于类的选择器将更有效。这也是Isotope Documentation中使用的一般方法。

例如,在a集中添加元素时,请将类a指定给它。

生成的HTML看起来像这样:

<div id="container">
    <div class="element a">…</div>
    <div class="element a">…</div>
    <div class="element b">…</div>
    <div class="element b">…</div>
    …
</div>

测试是否已加载集合然后变得如此简单:

if($('.a').length)  // if truthy (non-zero) this set is loaded