Jquery 选择两个特定图元之间的所有图元
我需要从Jquery 选择两个特定图元之间的所有图元,jquery,Jquery,我需要从到选择所有a标记。下面是一个例子 <span class="pages"> <a class="prev"> </a> <a>13</a> <a>14</a> <a>15</a> <a>16</a> <a class="self">17</a> <a>
到
选择所有a
标记。下面是一个例子
<span class="pages">
<a class="prev"> </a>
<a>13</a>
<a>14</a>
<a>15</a>
<a>16</a>
<a class="self">17</a>
<a>18</a>
<a>19</a>
<a>20</a>
<a>21</a>
<a class="next"> </a>
</span>
13
14
15
16
17
18
19
20
21
有href
s属性。我不想在上课前得到任何东西。我想要从self
到span
元素末尾的所有内容。将获得a.self
和a.next
之间的所有a
元素,排除它们:
$('a.self').nextUntil('a.next', 'a');
如果您想包含它们,只需使用:
希望这能帮助别人;它是包含的,这意味着它将发送最后一个元素,以及调用该方法的元素
/**
* jQuery.fn.getRangeElements
*
* @access public
* @parma HTMLElement|jQuery element
* @return Array
*/
jQuery.fn.getRangeElements = function(element) {
var $element = jQuery(element);
if (jQuery.inArray(element[0], this.siblings()) === -1) {
return [];
}
var $prevAll = this.prevAll();
if (jQuery.inArray(element[0], $prevAll) !== -1) {
var $prevUntil = this.prevUntil($element),
set = [];
$prevUntil.each(function(index, element) {
set.push($(element));
});
set.unshift(this);
set.push($element);
return $(set);
}
var $nextUntil = this.nextUntil($element),
set = [];
$nextUntil.each(function(index, element) {
set.push($(element));
});
set.unshift(this);
set.push($element);
return $(set);
};
当你说“我需要得到”时,“得到”是什么意思?您想删除所有其他标记,还是想要一个jQuery选择器来选择
a.self
到a.next
元素?@JohnJohnGa:谢谢,修复:)
/**
* jQuery.fn.getRangeElements
*
* @access public
* @parma HTMLElement|jQuery element
* @return Array
*/
jQuery.fn.getRangeElements = function(element) {
var $element = jQuery(element);
if (jQuery.inArray(element[0], this.siblings()) === -1) {
return [];
}
var $prevAll = this.prevAll();
if (jQuery.inArray(element[0], $prevAll) !== -1) {
var $prevUntil = this.prevUntil($element),
set = [];
$prevUntil.each(function(index, element) {
set.push($(element));
});
set.unshift(this);
set.push($element);
return $(set);
}
var $nextUntil = this.nextUntil($element),
set = [];
$nextUntil.each(function(index, element) {
set.push($(element));
});
set.unshift(this);
set.push($element);
return $(set);
};