0
   <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() 仅适用于顶级元素)

4

5 回答 5

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/

于 2012-06-18T09:40:38.890 回答
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/

于 2012-06-18T09:56:48.860 回答
1

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

于 2012-06-18T09:40:16.063 回答
0

You could try:

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

I suggest you to assign some class at your UI elements anyway.

于 2012-06-18T09:45:26.947 回答
0

它为我工作....

$('div').find('span').remove();
于 2012-06-18T09:44:00.990 回答