jQuery - 根据类名删除DIV

时间:2012-02-06 16:01:53

标签: jquery html

是否可以通过jQuery删除页面上的所有DIV - 保持其内容完整 - 这些模式对他们有效?

<div class="ExternalClass85AC900AB26A481DBDC8ADAE7A02F039">....</div>

请注意,DIV遵循以下模式:

  • 类名将始终以ExternalClass开头,但后面跟着另一个值,从不相同,

  • 并且DIV 没有其他属性,只有class 。 (这是在SharePoint上)

感谢。

8 个答案:

答案 0 :(得分:4)

是的,您可以使用attribute starts with selectorreplaceWith方法:

$('[class^="ExternalClass"]').filter(function() { 
  return this.attributes.length === 1; 
}). replaceWith(function() {
  return $(this).html();
});

答案 1 :(得分:2)

$('[class^="ExternalClass"]').replaceWith(function() {
    return $(this).html();
});

答案 2 :(得分:1)

从div获取内部html。 获取父标记或上一个标记,将内容粘贴到删除div之后或之后。 Jquery可能有一个替换函数,不确定,这会更容易。

应该能够使用.remove()来摆脱div。

$( “[类$ = 'ExternalClass']”)除去();
可能是id * =我忘记了哪一个。

修: http://api.jquery.com/replaceWith/

答案 3 :(得分:1)

您需要重新编写HTML。

$("div [class^=ExternalClass]")将选择元素。

抓住innerHTML,将其追加到元素之后,然后删除元素。

答案 4 :(得分:1)

您可以使用属性以选择器^=启动来尝试此操作。

$('div[class^="ExternalClass"]').each(function(){
    $(this).replaceWith($(this).html());
});

答案 5 :(得分:1)

var $text = ""; 
$.each($("div"), function(){
    $text = $text + this.html();
});
document.write($text);

答案 6 :(得分:1)

示例HTML:

<div class="ExternalClass85AC900AB26A481DBDC8ADAE7A02F039">foo</div>
<div class="ExternalClass85AC900AB26A481DBDC8ADAE7A02sdfsdsdfF039">bar</div>

示例Jquery:

$('div[class^="ExternalClass"]').each(function() {
  $(this).contents().unwrap();
});

输出:

foo bar

(没有divs)

继续小提琴:

http://jsfiddle.net/6hbhL/

答案 7 :(得分:1)

我的代码:

function unrichText(texto) {
  var n = texto.indexOf("\">"); //Finding end of "<div&nbsp;class="ExternalClass...">
  var sub = texto.substring(0, n+2); //Adding first char and last two (">)
  var tmp = texto.replace(sub, ""); //Removing it
  tmp = replaceAll(tmp, "</div>", ""); //Removing last "div"
  tmp = replaceAll(tmp, "<p>", ""); //Removing other stuff
  tmp = replaceAll(tmp, "</p>", "");
  tmp = replaceAll(tmp, "&#160;", "");
  return (tmp);
}

function replaceAll(str, find, replace) {
    return str.replace(new RegExp(find, 'g'), replace);
}