如何删除<style>标记内的CSS样式?

时间:2018-07-23 18:04:27

标签: javascript html css

示例:

    

我想使用javascript / jquery或我必须使用的任何方法来删除 left:0; 方面。我没有选择打开文档进行编辑或删除的选项。有任何想法吗?请注意,该类中还有其他样式,我只想删除 left:0; 方面,而其余部分保持不变。

6 个答案:

答案 0 :(得分:4)

元素的style属性可以覆盖其CSS类属性。 left: auto还将把元素的left属性重置为默认值。

可以在Javascript中这样设置元素的样式:

Element.style.[CSS property] = [value]

<span id="someId">Span</span>
<script>
document.getElementById("someId").style.color = "#aeb";
</script>

它的jQuery等效于(一个CSS属性):

$([selector]).css([CSS property], [value]);

$('#someId').css("color", "#aeb");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="someId">Span</span>

对于许多CSS属性:

$([selector]).css({[CSS property]: [value], [CSS property]: [value]});

$('#someId').css({"color":"red", "font-size":"1.5em", "position":"absolute", "top": "25%", "left": "25%"});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="someId">Span</span>

<style>
.className {
  left: 0;
  position: absolute;
}
</style>
<span class="className">Span.className</span><br/>
<span class="className">Span.className</span><br/>
<span class="className">Span.className</span><br/>
<span class="className">Span.className</span><br/>
<span class="className">Span.className</span><br/>
<span style="left: 0; position: absolute;">Span with left:0 and position:absolute</span>
<script>
var elems = document.getElementsByClassName("className");
for(let i = 0; i < elems.length; i++){
  elems[i].style.left = "50px";
}
</script>

要覆盖元素的所有先前设置的CSS属性,可以使用all: initial,将所有CSS属性设置为其初始值。

<style>
.someClass{
  position: fixed;
  color: red;
  background-color: dodgerblue;
  font-size: 3em;
  margin: 20px;
}
</style>
<span class="someClass">Span.someClass</span>
<span class="someClass" style="all: initial;">Span.someClass all:initial</span>

答案 1 :(得分:2)

使用jquery,您应该可以轻松完成以下操作:

$('.className').css({'left': 'auto'});

或者,如果该类并不是那么重要,则可以这样删除它:

$('.className').removeClass('className');

您可以在CSS中用另一个值覆盖它,也可以使用答案第一部分中提到的jQuery相同的东西。

答案 2 :(得分:1)

left:auto;

自动会将页面的left属性重置为浏览器的默认设置:)

可能/类似重复:

How to remove Left property when position: absolute?

答案 3 :(得分:1)

这是两种不同的方法。

1。替换/删除课程

如果这是该类中唯一的样式属性,则可以从使用该类的所有元素中删除该类。

jQuery示例:

OTHER

2。覆盖属性

CSS中$(".className").removeClass("className").addClass("anotherClass"); 的默认值为auto,因此您可以为所有这些元素覆盖CSS。

jQuery示例:

left

答案 4 :(得分:1)

尝试这样:

$('.className').remove();

答案 5 :(得分:0)

由于它具有值,因此将其设置为空白将使其不作任何值,并且将跳过/忽略css属性。 解决方案:

$('.className').css('left',' ');

如果该属性仍被读取为0,则必须将!important应用于.css();。覆盖它。