Удалите ссылки с JavaScript в браузере

Как я удаляю ссылки из веб-страницы с JavaScript? Я использую Google Chrome. Код, который я попробовал:

function removehyperlinks() {
    try {
        alert(document.anchors.length);
        alert(document.getElementsByTagName('a'));
        for(i=0;i=document.anchors.length;i++) {
            var a = document.anchors[i];
            a.outerHTML = a.innerHTML;
            var b = document.getElementsByTagName('a');
            b[i].outerHTML = b[i].innerHTML;
        }
    } catch(e) { alert (e);}
    alert('done');
}

Конечно, это - тестовый код, который является, почему у меня есть предупреждения и 2 вещи, пробующие одновременно. Первое предупреждение возвращается "0" второе [Объект NodeList] и третьи "сделанные" возвраты.

Мое тело HTML похоже на это:

<body onload="removehyperlinks()">
<ol style="text-align:left;" class="messagelist">
    <li class="accesscode"><a href="#">General information, Updates, &amp;   Meetings<span class="extnumber">141133#</span></a>
        <ol>
            <li><a href="#">...</a></li>
            <li><a href="#">...</a></li>
            <li><a href="#">...</a></li>
            <li><a href="#">...</a></li>
            <li><a href="#">...</a></li>
            <li><a href="#">...</a></li>
            <li><a href="#">...</a></li>
            <li><a href="#">...</a></li>
            <li start="77"><a href="#"">...</a></li>
            <li start="88"><a href="#">...</a></li>
            <li start="99"><a href="#">...</a></li>
        </ol>
    </li>
  </ol>
</body>
7
задан mikemaccana 4 August 2015 в 16:53
поделиться

4 ответа

function removehyperlinks() {
    try {
        for(i=0;i<document.anchors.length;i++) {
            document.anchors[i].outerHTML = document.anchors[i].innerHTML
        }
    } catch(e) { alert ("try2:" + e);}
}
function runner() {
    for(i=1;document.anchors.length > 0;i++) {
        //alert('run ' + i + ':' + document.anchors.length);
        removehyperlinks();
    }
}

Это работает. Поскольку я контролирую контент, я назвал все привязки «ссылка», используя простой поиск и замену. Если вы запустите его один раз, он уничтожит все остальные. Так что я просто велел повторять, как вы можете видеть, пока все они не исчезнут.

1
ответ дан 6 December 2019 в 14:02
поделиться

Вот вам ванильный JS, который поможет. Все, что он делает, это заменяет теги a на теги span и копирует атрибуты class и id (если они существуют).

var anchors = document.getElementsByTagName("A");

for ( var i=0; i < anchors.length; i++ ) {
    var span = document.createElement("SPAN");
    if ( anchors[i].className ) {
        span.className = anchors[i].className;
    }

    if ( anchors[i].id ) {
        span.id = anchors[i].id;
    }

    span.innerHTML = anchors[i].innerHTML;

    anchors[i].parentNode.replaceChild(span, anchors[i]);
}
5
ответ дан 6 December 2019 в 14:02
поделиться

Если вы можете включить jquery, вы можете сделать это просто с помощью

$('document').ready(function (){
    $('a').contents().unwrap();
});​​​​​​​​​​​​​​​​​
7
ответ дан 6 December 2019 в 14:02
поделиться

Попробуйте

var ary = document.getElementsByTagName("a");

получить якоря.

Затем вы можете удалить их следующим образом

for (var i=0;i<ary.length;i++) {
  // brain cramp: document.removeElement(ary[i]);
  ary[i].parentNode.removeChild(ary[i]);
}
1
ответ дан 6 December 2019 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: