是否有可能通過jQuery刪除頁面上的所有DIV - 保持其內容完好無損 - 對此有何模式?jQuery - 根據類名刪除DIV
<div class="ExternalClass85AC900AB26A481DBDC8ADAE7A02F039">....</div>
注意的DIV遵循此模式:
類的名字將永遠開始
ExternalClass
但隨後將另一價值,絕不相同,和DIV有沒有其他的屬性,但
class
。 (這是在SharePoint上)
謝謝。
是否有可能通過jQuery刪除頁面上的所有DIV - 保持其內容完好無損 - 對此有何模式?jQuery - 根據類名刪除DIV
<div class="ExternalClass85AC900AB26A481DBDC8ADAE7A02F039">....</div>
注意的DIV遵循此模式:
類的名字將永遠開始ExternalClass
但隨後將另一價值,絕不相同,
和DIV有沒有其他的屬性,但class
。 (這是在SharePoint上)
謝謝。
是的,你可以使用attribute starts with selector和replaceWith方法:
$('[class^="ExternalClass"]').filter(function() {
return this.attributes.length === 1;
}). replaceWith(function() {
return $(this).html();
});
從div中獲取內部html。 獲取父代或以前的代碼,將內容粘貼到或刪除div後。 Jquery可能有一個替換函數,不確定,這會更容易。
應該能夠使用.remove()來擺脫div。
$(「[class $ ='ExternalClass']」)。remove();
可能是id * =我忘記了哪一個。
http://api.jquery.com/replaceWith/ – 2012-02-06 16:07:30
他們有上面的功能,只是找到它,看起來像它會工作。 – 2012-02-06 16:08:15
選擇一個ID,而不是一個班級。 – 2012-02-06 16:08:28
你需要重新編寫HTML。
$("div [class^=ExternalClass]")
將選擇元素。
抓住innerHTML,將它追加到元素後面,然後刪除元素。
您可以嘗試使用屬性開始於選擇器^=
。
$('div[class^="ExternalClass"]').each(function(){
$(this).replaceWith($(this).html());
});
var $text = "";
$.each($("div"), function(){
$text = $text + this.html();
});
document.write($text);
$('[class^="ExternalClass"]').replaceWith(function() {
return $(this).html();
});
謝謝,dfsq。請參閱我對問題的註釋和要求的第二個項目符號:DIV應該只有類屬性,並且沒有其他屬性。迄今所有的答案都忽略了這一點。任何人都有解決方案? – Alex 2012-02-06 18:05:24
樣本HTML:
<div class="ExternalClass85AC900AB26A481DBDC8ADAE7A02F039">foo</div>
<div class="ExternalClass85AC900AB26A481DBDC8ADAE7A02sdfsdsdfF039">bar</div>
樣品的Jquery:
$('div[class^="ExternalClass"]').each(function() {
$(this).contents().unwrap();
});
輸出:
foo bar
(wihtout的div)
繼承人的小提琴:
請注意,DIV應該有** **只有類屬性並沒有其他屬性。提供的解決方案都很棒,但有人可以爲此問題提供補充嗎? – Alex 2012-02-06 17:53:59
讓我大笑,這是我搜索的第一個結果,儘管我的搜索或您的OP都沒有提及它,但我完全知道我們可能因爲SharePoint而出現此問題? +1爲好問題。 – 2013-01-23 12:06:39
編輯:第一次沒有注意到你的'這是在SharePoint'。 – 2013-01-23 12:07:36