是否可以通过jQuery删除页面上的所有DIV - 保持其内容完整 - 这些模式对他们有效?
<div class="ExternalClass85AC900AB26A481DBDC8ADAE7A02F039">....</div>
请注意,DIV遵循以下模式:
类名将始终以ExternalClass
开头,但后面跟着另一个值,从不相同,
并且DIV 没有其他属性,只有class
。 (这是在SharePoint上)
感谢。
答案 0 :(得分:4)
是的,您可以使用attribute starts with selector和replaceWith方法:
$('[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 * =我忘记了哪一个。
答案 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)
继续小提琴:答案 7 :(得分:1)
我的代码:
function unrichText(texto) {
var n = texto.indexOf("\">"); //Finding end of "<div 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, " ", "");
return (tmp);
}
function replaceAll(str, find, replace) {
return str.replace(new RegExp(find, 'g'), replace);
}