Javascript 使用jQuery将X项包装到Y项

Javascript 使用jQuery将X项包装到Y项,javascript,jquery,html,filter,Javascript,Jquery,Html,Filter,如何用一个链接将所有链接从第三个链接包装到最后一个链接 尝试进行修复,如果可行,链接将位于红色背景上并带有填充 注意:它应该是a_itemsvar中的包装,然后由.html()显示 到目前为止,还没有有效的解决方案。jQuery提供了从选定的开始索引到选定的可选结束索引的过滤选项 var last=$('a')//将它们存储在last中 .slice(2)//倒数第三 .remove()//从DOM中删除它们 .wrap(“”)//把它们一分为二 $('a:gt(2)')。换行(“”);

如何用一个链接将所有链接从第三个链接包装到最后一个链接

尝试进行修复,如果可行,链接将位于红色背景上并带有填充

注意:它应该是
a_items
var中的包装,然后由
.html()显示

到目前为止,还没有有效的解决方案。

jQuery提供了从选定的开始索引到选定的可选结束索引的过滤选项

var last=$('a')//将它们存储在last中
.slice(2)//倒数第三
.remove()//从DOM中删除它们
.wrap(“”)//把它们一分为二
$('a:gt(2)')。换行(“”);

var links=$('a');
var last=links.filter(':gt(2');
最后。包装(“”);

根据编辑

$('div a').map(function(index, item) {
    if(index > 2) {
        return $(item).wrap('<span class="wrap"/>').get(0)
    } else return $(item);
});
$('div a').map(函数(索引,项){
如果(索引>2){
返回$(项).wrap('').get(0)
}否则返回$(项目);
});

.wrap
包装每个元素。用于包装一组元素:

last.wrapAll('<span></span>');
last.wrapAll(“”);
var links=$('a').slice(2,$('a').length);
links.wrap(“”);

它应该与“链接”一起使用var@Steve检查
DEMO 2
中的
links
varlinks应该包装在'links'var中,因为我们在包装之后才显示它们。这应该存在,因为排序不起作用,inside.wrap没有链接可能我不明白你到底想实现什么。如果没有工作链接,则应将其包装在“links”变量中,包装(替换当前链接)后我们会立即显示这些链接。请参见备注。。它不应该立即包装,而应该将它们包装在var中,并在需要时显示出来。@Steve“不立即包装”是什么意思?以后可以使用函数包装它们。你的意思是说取出DOM的第三个到最后一个,并将它们存储在一个变量中,包装好以后再显示吗?请看,这对我的代码不起作用切片的结束索引是可选的,默认为结束它应该包装在var中,不是吗away@Steve:那没有道理。元素当前位于DOM中。如何让它们仅从变量引用包装而不实际包装到DOM中?如果没有意义,为什么它不起作用?示例?@Steve:这里的大多数答案都有用。您是否费心阅读我在您的问题下留下的第一条评论?您的演示在链接上有
display:block
。内联元素中不能有块元素。这就是为什么在问题中发布相关代码会有帮助的一个例子。你所说的“应该是
链接中的包装器,然后才显示…”是什么意思?元素在DOM中。如果您包装元素,则它们将被包装在DOM中,而与变量无关。应该完全没有理由使用
.html()
。复制链接问题的关键在于,你没有明确自己想要什么。当CSS正确时,下面的解决方案将正确显示。如果这不是问题所在,并且您实际上希望包装元素的克隆,而不是元素本身,那么您应该将其放在问题中。说真的,伙计,你是在寻找解决办法的人。你应该接受评论。您的问题目前的形式缺少信息。@Steve您最好一步一步地解释您想要什么。这个问题可能因为含糊不清而被关闭。
var links = $('a');
var last = links.filter(':gt(2)');
last.wrap('<span/>');
$('div a').map(function(index, item) {
    if(index > 2) {
        return $(item).wrap('<span class="wrap"/>').get(0)
    } else return $(item);
});
last.wrapAll('<span></span>');
var links = $('a').slice(2, $('a').length);
    links.wrap('<span/>');