所以我有以下字符串:
var s = '<span>Some Text</span> Some other Text';
结果应该是一个含有“其他文本”的字符串。
我试过了…
var $s = $(s).not('span');
…和很多其他的东西与remove(),not()等,但没有任何工作。
有什么建议么?我可以匹配字符串与正则表达式,但我更喜欢一个常见的jQuery解决方案。
编辑:
我不用正则表达式搜索解决方案,我只是想知道为什么这个例子不起作用:
http://jsfiddle.net/q9crX/150/
解决方法
您可以将您的字符串包装在一个jQuery对象中,并进行像这样的操作:
var removeElements = function(text,selector) { var wrapped = $("<div>" + text + "</div>"); wrapped.find(selector).remove(); return wrapped.html(); }
var removedSpanString = removeElements("<span>Some Text</span> Some other Text","span");
这种方法的优点是您可以指定要删除的jquery选择器。也就是说,你可能希望删除< th>在一个字符串在这种情况下,这将非常方便。希望这可以帮助!