删除html包装代码并仅在行包含某些内容时保留内容?

时间:2015-09-03 18:10:30

标签: javascript jquery html

有很多行看起来像:

<div class="info"><ul><li><b><a href="http://www.domain1.com/10166/a-l-f/" title="ALF" target="_blank">ALF</a></b>[some text here]<a href="http://www.domain2.com/50367/DMS/" title=... blah blah blah

我想删除包含domain1.com的每个链接,并仅保留其内容(例如ALF)。 我试过这段代码:

$('a[href*="domain1"]').removeAttr('href');

但它只会删除href标记,而不是整个标记。 我想删除整个标记,只保留它的内容。 我也使用过这些代码,但没有任何事情发生,只是错误!

$("a[href*="domain1"]").replaceWith(function () {
return $(this).text();
});

&安培;

$('a[href*="domain1"]').contents().unwrap();

&安培;

$("a:contains(domain1)").find("a.link").contents().unwrap();

但仍然没有任何反应!

1 个答案:

答案 0 :(得分:2)

此处的选择器中存在语法错误:

std::string encrypt(std::string from) { // intentionally copying
    for (char& c : from) {
        c = c_alphabet[::toupper(c) - 'A'];
    }
    return from;
}

如果不转义它们,就不能在字符串中使用双引号。尝试:$("a[href*="domain1"]").replaceWith(function () { return $(this).text(); }); 或使用单引号作为字符串"a[href*=\"domain1\"]"。这应该有用。