我想删除单个样式,例如:


 img {width:calc(100% - 10px)}



 来自我的< style>
,它由< head>
内的插件动态插入。我尝试了很多方法,但没有任何帮助。
ThElement.find('style')。remove();



 通过使用上面的代码,我可以一起删除所有< style>
,但我需要删除唯一的单一样式。那么有没有办法做到这一点。
我不想添加新款式,我只是想删除现有的


以下是您的小提琴:



<!DOCTYPE html>
< html lang =“en”>
 &#的xD;
< HEAD>&#的xD;
 < meta charset =“UTF-8”>
 < meta name =“viewport”content =“width = device-width,initial-scale = 1.0”>
 < meta http-equiv =“X-UA-Compatible”content =“ie = edge”>
 <标题>文件< /标题>&#的xD;
 <风格>&#的xD;
 html {
保证金:0px;
 height:auto;
 }&#的xD;
 &#的xD;
身体{
 height:auto;
填充:10px;
背景:透明;
颜色:#000000;
位置:相对;
 z-index:2;
 -webkit-user-select:auto;
保证金:0px;
溢出:隐藏;
最小高度:20px;
 }&#的xD;
 &#的xD;
身体:{
内容:“”;
 display:block;
明确:两者;
 }&#的xD;
 &#的xD;
 body :: - moz-selection {
背景:#b5d6fd;
颜色:#000;
 }&#的xD;
 &#的xD;
 body :: selection {
背景:#b5d6fd;
颜色:#000;
 }&#的xD;
 &#的xD;
体,&#的xD;
 textarea {
 min-height:500px!important;
 }&#的xD;
 &#的xD;
体,&#的xD;
 body:focus {
 outline:透明实体0px;
 }&#的xD;
 &#的xD;
身体{
背景:透明;
位置:相对;
 z-index:2;
 overflow-x:auto;
 user-select:auto;
 }&#的xD;
 &#的xD;
身体a {
 user-select:auto;
 }&#的xD;
 &#的xD;
 body table td,
身体表{
 border:1px solid rgb(221,221,221);
 }&#的xD;
 &#的xD;
 body table td:empty,
 body table th:empty {
身高:20px;
 }&#的xD;
 &#的xD;
 body table td,
身体表{
 border:1px double red;
 }&#的xD;
 &#的xD;
 body table td,
身体表{
 border-width:2px;
 }&#的xD;
 &#的xD;
身体表{
背景:rgb(230,230,230);
 }&#的xD;
 &#的xD;
身体hr {
明确:两者;
 user-select:none;
 break-after:page;
 }&#的xD;
 &#的xD;
身体img {
 display:inline-block;
 float:none;
 vertical-align:bottom;
 margin-left:5px;
 margin-right:5px;
 max-width:calc(100% - 10px);
 }&#的xD;
 &#的xD;
身体{
位置:相对;
 }&#的xD;
 &#的xD;
 body :: after {
位置:相对;
 font-weight:normal;
 }&#的xD;
 &#的xD;
身体前{
白色空间:预包装;
自动换行:break-word;
 }&#的xD;
 &#的xD;
 body blockquote {
 border-left:2px solid rgb(94,53,177);
 margin-left:0px;
 padding-left:5px;
颜色:rgb(94,53,177);
 }&#的xD;
 &#的xD;
 body blockquote blockquote {
 border-color:rgb(0,188,212);
颜色:rgb(0,188,212);
 }&#的xD;
 &#的xD;
 body blockquote blockquote blockquote {
 border-color:rgb(67,160,71);
颜色:rgb(67,160,71);
 }&#的xD;
 &#的xD;
身体跨度{
 font-weight:normal;
 display:inline;
 line-height:0;
 }&#的xD;
 &#的xD;
身体跨度{
 font-size:inherit;
身高:1em;
 width:1em;
最小高度:20px;
最小宽度:20px;
 display:inline-block;
保证金:-0.2em 0.15em 0.2em;
 line-height:normal;
 vertical-align:middle;
 }&#的xD;
 < /风格>&#的xD;
< /头>&#的xD;
&#的xD;
<主体>&#的xD;
 < img src =“http://lorempixel.com/400/600/”>
< / body>

 < / HTML> 代码>
&#的xD;
 我只想从中删除 body img
样式。
答案 0 :(得分:1)
看起来有点时髦,但您可以使用String.replace() Regular Expression删除特定规则。
这样的事情:
var style = $('head>style');
style.text( style.text().replace(/(img\s*\{[^}]*)max-width:\s*calc\(100%\s*-\s*10px\);([^}]*\})/g, "$1$2") );
或者,删除所有img样式有点简单:
var style = $('head>style');
style.text( style.text().replace(/img\s*\{[^}]*\}/g, "img {}") );
如果您需要删除更具体的选择器,则可以修改regex
:
var style = $('head>style');
style.text( style.text().replace(/body\simg\.fr-dii\s*\{[^}]*\}/g, "") );
答案 1 :(得分:-1)
你可以覆盖头部样式
:)