如何删除html字符串中的元素

时间:2012-06-18 09:37:31

标签: jquery

   <div>
       <span>ABC</span>
        <ul>
             <li>list</li>
             <li>list</li>
             <span>ABC</span>
             <li>list</li>
        <ul>
        <span>ABC</span>
  </div>

这是myString变量,现在我想从这个字符串中删除span元素?所以myString将是:

   <div>
        <ul>
             <li>list</li>
             <li>list</li>
             <li>list</li>
        <ul>
  </div>

由于 (remove()仅适用于顶级元素)

5 个答案:

答案 0 :(得分:4)

尝试:

var str = '<div><span>ABC</span><ul><li>1</li><li>2</li></ul><span>ABC</span></div>';
var without_span = $(str).find('span').remove().end(); 

end()获取更新的字符串(从技术上讲,返回堆栈中的最后一个选择,即在查找之前)。

演示http://jsfiddle.net/t2uNr/

答案 1 :(得分:1)

您可以使用substr函数执行搜索并手动删除

答案 2 :(得分:1)

有点硬编码但会起作用。

var str = '<div><span>ABC</span><ul><li><li><li></li></ul><span>ABC</span></div>';
stringToReplace='<span>ABC</span>'; /*Enter string to be replaced here*/
var index = str.indexOf(stringToReplace);
        while(index != -1){
            str=str.replace(stringToReplace,'');
            index = str.indexOf(stringToReplace);
        }
alert(str);​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

http://jsfiddle.net/dVtCx/

答案 3 :(得分:0)

它为我工作....

$('div').find('span').remove();

答案 4 :(得分:0)

你可以尝试:

$('ul').find(span:first).remove();

我建议你在UI元素上分配一些类。