【发布时间】:2014-09-10 01:49:44
【问题描述】:
如何获得一个选择器,该选择器将在 jQuery 每个循环的迭代中唯一引用当前的目标 DOM 元素(即this)?所以说选择器是#abc, .xyz,来源是:
<body>
<div id="abc">1</div>
<div class="xyz">2</div>
<div class="xyz">3</div>
<div class="xyz">4</div>
</body>
理想情况下,我正在寻找这样的东西:
$('#abc, .xyz').each(function() {
/*
iteration1 = '#abc';
iteration2 = '.xyz:eq(0)';
iteration3 = '.xyz:eq(1)';
iteration4 = '.xyz:eq(2)';
*/
});
我知道 .selector 属性已被删除,但实际上这甚至没有帮助,我正在寻找一个仅匹配 each() 的“this”迭代的特定选择器。
为什么? ...你可能会问
我正在尝试通过 Ajax 加载新页面的部分内容,然后只用加载的数据替换当前页面的某些部分。如果我可以完全参数化要在当前页面上替换的内容(可能在很多不同的地方),我会很高兴。因此,我想要一种方法来循环加载数据中的多个可能匹配项,然后替换当前页面上的那些特定部分。
所以我可以 each() 通过 ajax 加载的数据在选择器上循环,但是我没有选择器来将每次迭代的数据定位到当前页面。
回溯,我可以依赖 ID,用逗号 split() 选择器字符串,然后循环遍历这些 ID,但是能够使用类、标签或其他非唯一选择器会更加灵活!
【问题讨论】:
标签: jquery ajax jquery-selectors each