0

我正在导入一个 HTML 文件,我想从其中的所有元素中删除所有href元素,因此最终文本不会链接到任何地方,并且看起来像“普通”文本。

我已经div#divvy从这个 HTML 中提取了一部分,所以删除的过程href必须适用于它,而不是所有的响应。

最终结果应该去div#pepeland

我有这个代码:

function pepe(){
    $.ajax({
        url: 'http://www.site.com/text.html',
        dataType: 'html',
        success: function(response){
            $('#pepeland').html(jQuery(response).find('#divvy').html());
        }
    });
};

我想但不确定也许我应该在上面的代码中插入类似以下几行的内容,但我不知道该怎么做。

$(response).querySelectorAll("href").remove();

或者

$(response).attr('href', '');

或者

response.replace("href", '');

在下面的答案中,我意识到我想要的是删除所有标签而不删除文本。因为单词的格式始终带有下划线和标签的所有属性。所以烤写了我的正确答案,见下文!

4

3 回答 3

1

我需要查看您的 html 文件以了解如何选择元素,但您需要遍历所有元素以全部替换它们。所以像这样的事情......

$('YOUR SELECTOR').each(function(){
      $(this).contents().unwrap();
});

这将带走锚标记并使其成为纯文本。

类似于this question的答案..删除一个HTML标签但保留innerHtml

于 2013-05-28T17:50:01.150 回答
0

尝试这个:

function pepe(){
    $.ajax({
        url: 'http://www.site.com/text.html',
        dataType: 'html',
        success: function(response){
            var $divvy = $(response).find('#divvy');
            $divvy.find('a').each(function(){$(this).replaceWith($(this).text())});
            $('#pepeland').html($divvy);
        }
    });
};
于 2013-05-28T17:50:33.950 回答
0

我会做这样的事情:

$.ajax({
    url: 'http://www.site.com/text.html',
    dataType: 'html',
    success: function(response){
        $('#pepeland').html(response);
        $('#pepeland a').removeAttr('href');
    }
});

这将删除附加 html 内所有链接上的 href 属性

于 2013-05-28T17:58:13.913 回答