删除重复的锚标记
问题描述:
我有一个page with a lot of hrefs列在表行中。用户可以根据选择来隐藏/显示表格行。我想临时将重复项的hrefs更改为纯文本。删除重复的锚标记
我的想法是做一个
$('a').each(function() {
});
然后在每个一元,使用nextUntil方法来改变等于this.href任何链接转换成文本。但是当用户选择隐藏/显示不同的选择时,我该怎么办?如何刷新链接并根据新的过滤器隐藏重复项?
我想我可以刷新页面,但那不会像性感一样。
答
我不完全明白你的问题,但看这确实你需要什么:
(function(global)
{
var $ = global.jQuery,
uniqueHREFs = {};
$(function()
{
var $matrixTable = $('#matrix'),
$matrixTableChildren = $matrixTable.children().detach();
$matrixTableChildren.find('a').each(function()
{
var $this = $(this),
HREF = $this.attr('href');
if(typeof uniqueHREFs[HREF] !== 'undefined')
{
$this.replaceWith(
$('<span>').addClass('duplicate-link-replacement').html($this.html())
);
}
else
{
uniqueHREFs[HREF] = true;
}
});
$matrixTable.append($matrixTableChildren);
});
}(window));
它重复你的表,将各击中HREF它以前没有见过的所有环节。当它碰到之前看到的一个时,它会用一个类别为duplicate-link-replacement
的跨度和链接以前具有的相同HTML取代它。
哦!这是一个好主意!谢谢JAAulde! – 2011-06-14 20:49:23
没有概率,感谢赞美:) – JAAulde 2011-06-14 21:46:25