如何仅移除<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而不能确定要重新包装。
答案 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>');
}