很明显,我并不了解jquery的一些基本知识,以至于我甚至不知道该如何称呼它。我会冒险‘包装-集’,并将使用这个词暂时。
我的场景:使用jquery同位素作为语言字典的顶部有字母按钮at。
<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.100.我尝试了$('.element').detach();(空,删除)和编号是,如预期: 0,1,2.
问题:
1)从0,1,2.包装的集合是一个数组吗?我理解固有的迭代,但这在总体上是可行的。是否可以分离一个特定的字母集,一个数组子集;例如“C”,例如: letter2或.element -或类似的?
2)如果包装集是累积的,那么我如何测试某个特定的字母集是否已经加载,并避免每次单击字母时都加载ajax?这让我想,‘为什么不直接在开始的时候加载所有的数据呢?’-假设我可以在上面点击一个字母集,如1)?我猜这个第一级的am演示文稿总共将有大约800 am的数据。没那么大。两个问题? 2a,2b
我谷歌了两本书,并大致抓取了不同的身体部位,但每件事似乎都与固有的迭代有关,这是一个单一的数据块。我很抱歉,如果所有这些都不恰当地挥之不去,但希望您能给我一些方向,或进一步梳理我的想法,或者给我一些关键字或jquery函数,我可以研究。我需要点东西。一个新的爱好:)我热衷于学习,因此任何指导都将不胜感激。如果你读过这篇文章的话,非常感谢。
发布于 2013-09-14 21:59:29
jQuery将根据您提供的选择器返回一个结果集。返回的jQuery对象由与提供的选择器匹配的DOM元素数组支持。
您可以(并且应该在使用同位素时)为元素分配额外的类,以帮助进行选择。它不必是类--同位素将适用于任何jQuery选择器,但基于类的选择器将更有效。这也是同位素文献中使用的一般方法。
例如,在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
发布于 2013-09-14 21:57:05
是的,这个DOM查询的结果是一个由匹配元素组成的jQuery包装数组,数组元素的顺序是基于DOM中每个元素的位置。如果要筛选返回的数组,可以使用jQuery的.filter()
方法。要检查特定元素是否存在,可以使用.length
属性。
对于自动处理返回的集合,可以使用console.log()
/console.dir()
。
https://stackoverflow.com/questions/18806675
复制相似问题