首页 > 解决方案 > 如何从 HTML 标签中删除 CSS 属性

问题描述

我无法删除 HTML 标记的 CSS 属性。

我正在尝试从 css 中删除位置样式属性。实际上它来自父级,我可以用我的 css 文件覆盖它,但我想根据我的要求完全删除 postion 属性。

下面的代码,我试过了,但它对我不起作用

$("p").removeProp("position");

我的代码示例(注意:我没有 P 标签的任何类名)

$("p").removeProp("position");
p {
  position: static;
  font-size: 18px;
  color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
  Hello Stack Overflow
</p>

标签: javascriptjqueryhtmlcssfrontend

解决方案


您可以通过以下方式删除它们:

$("p").css("position",'');

如 jquery 文档中所述:

将样式属性的值设置为空字符串(例如 $(selector).css('color', ' '),如果已直接应用该属性,则从元素中删除该属性)。

要删除元素的整个内联样式,请使用:

$(selector).removeAttr('style');

您的实际问题似乎是您在标签上添加了css属性。p您应该实现 use ofclass或 use !importantto replace 。最好的方法是使用class

.p-static {
  position: static;
  font-size: 18px;
  color: red;
}
.p-normal {
  font-size: 18px;
  color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="p-static">
  Hello Stack Overflow, this is static paragrap.
</p>
<p class="p-normal">
  Hello Stack Overflow, this is normal paragraph.
</p>


推荐阅读