删除元素上的样式

时间:2013-09-09 04:51:43

标签: javascript html css

我想知道这是否可能。

有这个元素

<div id="sample_id" style="width:100px; height:100px; color:red;">

所以我想删除宽度:100px; 高度:100px;

结果将是

<div id="sample_id" style="color:red;">

任何帮助都会得到认可。 :)

7 个答案:

答案 0 :(得分:54)

您可以使用纯Javascript编辑样式。除IE之外的所有浏览器都支持不需要库,您需要将其设置为''而不是null(请参阅注释)。

var element = document.getElementById('sample_id');

element.style.width = null;
element.style.height = null;

有关详细信息,请参阅MDN上的HTMLElement.style文档。

答案 1 :(得分:6)

var element = document.getElementById('sample_id');
element.style.removeProperty("width");
element.style.removeProperty("height");

答案 2 :(得分:2)

使用javascript

但这取决于你想要做什么。如果您只想更改高度和宽度,我建议:

{
document.getElementById('sample_id').style.height = '150px';
document.getElementById('sample_id').style.width = '150px';


}

要完全删除它,删除样式,然后重新设置颜色:

getElementById('sample_id').removeAttribute("style");
document.getElementById('sample_id').style.color = 'red';

当然,没有唯一的问题是你想要发生这种事件。

答案 3 :(得分:2)

更新:要获得更好的方法,请参阅same thread中的Blackus答案。


如果您不反对使用JavaScript和Regex,可以使用以下解决方案查找width属性中的所有heightstyle属性以及replace这些属性什么都没有。

//Get the value of style attribute based on element's Id
var originalStyle = document.getElementById('sample_id').getAttribute('style'); 

var regex = new RegExp(/(width:|height:).+?(;[\s]?|$)/g);
//Replace matches with null
var modStyle = originalStyle.replace(regex, ""); 

//Set the modified style value to element using it's Id
document.getElementById('sample_id').setAttribute('style', modStyle); 

答案 4 :(得分:1)

$("#sample_id").css({ 'width' : '', 'height' : '' });

答案 5 :(得分:0)

就像这样使用

 $("#sample_id").css("width", "");
 $("#sample_id").css("height", "");

答案 6 :(得分:0)

在宽度和高度元素上指定自动与从技术上删除它们相同。使用原始Javascript:

images[i].style.height = "auto";
images[i].style.width = "auto";