我有一些html,除了一个已知类的具体<a>
外,我必须从所有标签中清除它们。
这是html:
var string = '<span class="so_sentence"><span> Some text <a class="so_footnote-ref" href="#footnote-104008-4" id="footnote-104008-4-backlink">[1]</a></span></span>';
我附加了JQuery,所以我得到了字符串的jQuery对象。
var html = $(string);
现在,我必须清除所有span和其他标签中的字符串,除了
<a>
之外:<a class="so_footnote-ref" href="#footnote-104008-4" id="footnote-104008-4-backlink">[1]</a>
所以我的最终字符串应该是:
'Some text <a class="so_footnote-ref" href="#footnote-104008-4" id="footnote-104008-4-backlink">[1]</a>'
此外,还必须可以在结果上调用此函数,因此它必须是适当的类型:
function _trim(string){
return string.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,'').replace(/\s+/g,' ');
}
最佳答案
试试这个:
$(string).find(':not(a)').contents().unwrap()
这将与每段html代码一起出现。
示例:http://jsfiddle.net/E3RWL/1/