Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能告诉我从字符串中删除特定内联CSS样式的最佳方法吗?_Javascript_Css_Regex - Fatal编程技术网

Javascript 有人能告诉我从字符串中删除特定内联CSS样式的最佳方法吗?

Javascript 有人能告诉我从字符串中删除特定内联CSS样式的最佳方法吗?,javascript,css,regex,Javascript,Css,Regex,我有一个包含html/CSS的字符串(该字符串是使用富文本编辑器创建的)。数据由多个应用程序使用,一些应用程序按原样使用格式,一些应用程序尝试对数据应用新格式。我们对html没有任何问题,因为删除这些数据很容易 我不确定从字符串中删除特定CSS的最佳方法是什么。仅供参考…某些字符串可能不包含CSS…我正在考虑使用正则表达式。。但不太确定这是否是一种万无一失的方法 我知道我们可以用下面的方法来删除 document.getElementById("whatever").className = ""

我有一个包含html/CSS的字符串(该字符串是使用富文本编辑器创建的)。数据由多个应用程序使用,一些应用程序按原样使用格式,一些应用程序尝试对数据应用新格式。我们对html没有任何问题,因为删除这些数据很容易

我不确定从字符串中删除特定CSS的最佳方法是什么。仅供参考…某些字符串可能不包含CSS…我正在考虑使用正则表达式。。但不太确定这是否是一种万无一失的方法

我知道我们可以用下面的方法来删除

document.getElementById("whatever").className = "";
$('whatever').remmoveClass();
但这会删除所有CSS样式

例如:我需要从下面的文本中删除下面的内联CSS

<style type="text/css"> p { text-indent: 0pt;padding: 0px 0px 0px 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 12px;margin-left: 0px;text-align: left;font-family: 'Verdana';font-style: Normal;font-weight: normal;font-size: 16px;color: #000000; } .defaultDocumentStyle { telerik-style-type: default;telerik-style-name: defaultDocumentStyle;font-family: 'Verdana';font-style: Normal;font-weight: bold;font-size: 10.6700000762939px;margin-bottom: 12px; } </style><p><span>ddfggfg</span></p>
p{文本缩进:0pt;填充:0px 0px 0px 0px;页边距顶部:0px;页边距右侧:0px;页边距底部:12px;页边距左侧:0px;文本对齐:左侧;字体系列:“Verdana”;字体样式:正常;字体重量:正常;字体大小:16px;颜色:#000000;}。默认文档样式{telerik样式类型:默认;telerik样式名称:defaultDocumentStyle;字体系列:“Verdana”;字体样式:正常;字体重量:粗体;字体大小:10.670000762939px;页边距底部:12px;}ddfggfg

我只需要ddfggfg

编辑:字符串可能不一定是html字符串,因为他们也可以使用简单文本编辑器,因此我不能假设字符串将包含html

我主要在将数据导出到CSV/PDF时遇到这个问题。内联CSS类将与数据一起导出

谢谢,

Barani

您需要解析HTML并删除
style=“”
class=“”
属性

使用jQuery:

var dom = $('<div>' + source + '</div>');
dom.find('*').removeAttr('style');
var cleaned = dom.html();
vardom=$(''+source+'');
dom.find('*').removeAttr('style');
var=dom.html();

您可能还想
.find('style')
.remove()
它们。

您需要解析HTML并删除
style=“”
类=“”
属性

使用jQuery:

var dom = $('<div>' + source + '</div>');
dom.find('*').removeAttr('style');
var cleaned = dom.html();
vardom=$(''+source+'');
dom.find('*').removeAttr('style');
var=dom.html();

您可能还想
.find('style')
.remove()
它们。

设置特定样式以覆盖编辑器可能设置的内容怎么样?如果您有放置内容的特定类或ID,您可以在CSS中执行以下操作:

#whatever p{
    margin-bottom: 0px !important;
}

这只是一个简短的示例,但如果您有一种特定的外观方式,您可以设置一些覆盖以确保样式一致。缺点是您必须覆盖与预期外观冲突的每个CSS属性。

如何设置特定样式以覆盖edito可能设置的内容r?如果您有一个放置内容的特定类或ID,您可以在CSS中执行以下操作:

#whatever p{
    margin-bottom: 0px !important;
}
这只是一个简短的示例,但如果您有一个特定的方式希望它看起来像,您可以设置一些覆盖以确保样式一致。缺点是您必须覆盖与您期望的外观冲突的每个CSS属性。

请看。请看。请看。添加
.find(“脚本”).remove()
?添加
.find(“脚本”).remove()