如何仅删除<a> tag?</a>中的某些元素

时间:2013-03-31 03:00:44

标签: javascript jquery html href jquery-wrap

如何仅移除<a>标记内的某些元素,而不是全部元素(如unwrap()一样)?比如我有:

<a href="#page1" class="link" id="page1link" onclick="return false">1</a>
<a href="#page2" class="link" id="page2link" onclick="return false">2</a>

当我在第1页时(我在点击链接时淡出/在页面中,所以如果我在第1页上,那么第2页是不可见的)我希望1只是文本,并且同样的事情,如果我在第2页,没有附加链接,所以我使用:

if ($('#page1').is(':visible')) {
    $('#page1link').contents().unwrap();
    $('#page2link').wrap('<a href="#page2" onclick="return false" class="link" id="page2link"></a>');
} else {
    $('#page2link').contents().unwrap();
    $('#page1link').wrap('<a href="#page1" onclick="return false" class="link" id="page1link"></a>');
}

这将它解开并将1转换为纯文本,但是没有成功用链接重新包装它,因为一旦它变成纯文本,它就丢失了它的“page1link”ID而不能确定要重新包装。

1 个答案:

答案 0 :(得分:0)

用span:

替换锚点
if ($('#page1').is(':visible')) {
    $('#page1link').contents().unwrap().wrap('<span id="page1link">');
    $('#page2link').contents().unwrap().wrap('<a href="#page2" onclick="return false" class="link" id="page2link"></a>');
} else {
    $('#page2link').contents().unwrap().wrap('<span id="page2link">');
    $('#page1link').contents().unwrap().wrap('<a href="#page1" onclick="return false" class="link" id="page1link"></a>');
}