gpt4 book ai didi

jQuery 从所有元素中删除样式属性

转载 作者:技术小花猫 更新时间:2023-10-29 12:22:46 25 4
gpt4 key购买 nike

我知道如何从单个元素中删除属性,已经有一些关于此的帖子:

$("div.preview").removeAttr("style");

这是html代码:

<div class="preview" style="background-color:white">
<p>Some text<span style="font-size:15px;">some text</span></p>
some more code
</div>

问题是这只会从预览 div 中删除样式属性。我想从该 div 内的所有元素中删除。这只是一个例子,在实际场景中会有更广泛的 html。

有什么捷径可以做到吗?

更新:太好了,我现在知道该怎么做了。但是,如果发送 html 以用作存储在变量中的字符串怎么办。所以不是

$("div.preview") 

我有

var string = '<div class="preview"><p style='font-size:15px;'>....</p><div>'

下面有没有办法说类似的话?

$(string).find(*).removeAttr("style");

最佳答案

您可以使用通配符选择器 * 选择 div.preview 下的所有内容。

jsFiddle

$('div.preview *').removeAttr('style');

更新

RE:你的相关问题,如果我们有一个字符串而不是 DOM 元素。我们可以将它们转换为 jQuery 对象,如上所述删除属性,然后将它们转换回来(如果需要)。

jsFiddle

// jQuery extension to get an element's outer HTML
// http://stackoverflow.com/a/2419877/1156119
jQuery.fn.outerHTML = function(s) {
return s
? this.before(s).remove()
: jQuery("<p>").append(this.eq(0).clone()).html();
};

var string = '<div class="preview"><p style="font-size:15px;">....</p><div>'
var elements = $(string);
elements.find('*').removeAttr('style');

var withoutStyles = elements.outerHTML();
alert(withoutStyles);

关于jQuery 从所有元素中删除样式属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15705332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com