Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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 - Fatal编程技术网

Javascript 更改css属性

Javascript 更改css属性,javascript,css,Javascript,Css,是否可以在一行代码中更改css属性?如果要更改两个属性,请执行以下操作 document.getElementById('el').style.display = "inline"; document.getElementById('el').style.backgroundColor = "#000000"; 如果您使用的是jQuery,您可以像他那样做: $("#el").css({ display : "inline", "backgroundColor" : "#000000" });

是否可以在一行代码中更改css属性?如果要更改两个属性,请执行以下操作

document.getElementById('el').style.display = "inline";
document.getElementById('el').style.backgroundColor = "#000000";

如果您使用的是jQuery,您可以像他那样做:

$("#el").css({ display : "inline", "backgroundColor" : "#000000" });

如果您使用的是jQuery,您可以像他那样做:

$("#el").css({ display : "inline", "backgroundColor" : "#000000" });

如果您将CSS值设置为字符串,并且没有为元素设置其他CSS,或者您不关心覆盖,请使用cssText属性:

document.getElementById("myElement").style.cssText = cssString;

检查SO链接以了解更多详细信息

如果您将CSS值设置为字符串,并且没有为元素设置其他CSS,或者您不关心覆盖,请使用cssText属性:

document.getElementById("myElement").style.cssText = cssString;

检查SO链接以了解更多详细信息

您可以尝试使用jqueryf更改元素的类,例如:

$("p").addClass("myClass yourClass");
或使用attr方法:

$("p").attr("class" yourClass");

您可以尝试使用jqueryf更改元素的类,例如:

$("p").addClass("myClass yourClass");
或使用attr方法:

$("p").attr("class" yourClass");

将该样式移动到某个类,并使用类名,而不是单独应用样式。这是推荐的方法

/*CSS*/
.yourClass {
    display: inline;
    background-color: #000
}

//JS
document.getElementById('el').className = 'yourClass';
编辑


伙计们,请停止编写jQuery示例。这是一项非常简单的任务,不需要至少30KB的库

将该样式移动到某个类,并使用类名而不是单独应用样式。这是推荐的方法

/*CSS*/
.yourClass {
    display: inline;
    background-color: #000
}

//JS
document.getElementById('el').className = 'yourClass';
编辑


伙计们,请停止编写jQuery示例。这是一项非常简单的任务,不需要至少30KB的库

没有任何框架,真的没有一个可接受的解决方案。如果要防止重复的getElementById调用,可以执行以下操作:

var el = document.getElementById('el').style;
el.display = "inline";
el.backgroundColor = "#000000";
或者更具可读性,语义更准确:

var el = document.getElementById('el');
el.style.display = "inline";
el.style.backgroundColor = "#000000";

但这仍然不能解决单线问题。与其他人一样,我强烈推荐jQuery。

没有任何框架,真的没有一个可接受的解决方案。如果要防止重复的getElementById调用,可以执行以下操作:

var el = document.getElementById('el').style;
el.display = "inline";
el.backgroundColor = "#000000";
或者更具可读性,语义更准确:

var el = document.getElementById('el');
el.style.display = "inline";
el.style.backgroundColor = "#000000";

但这仍然不能解决单线问题。我和其他人一样强烈推荐jQuery。

这不是覆盖所有其他内联CSS吗?是的,但这是在一行中完成的唯一方法,而不使用任何框架。这不是覆盖所有其他内联CSS吗?是的,但这是在一行中完成的唯一方法,在不使用任何框架的情况下,他可能想要更改元素的“某些样式属性”。在这种情况下,一个完整的类名更改有点太多了。您可以添加第二个类名,而不是更改现有的类名。使用类而不是样式是推荐的做法,因为它具有更好的性能,并且更易于实现,尤其是在添加其他属性时。而且,在类解决方案中,在更改之前您不需要记住参数,您只需要从元素中删除添加的类名。他可能想要更改元素的“某些样式属性”。在这种情况下,一个完整的类名更改有点太多了。您可以添加第二个类名,而不是更改现有的类名。使用类而不是样式是推荐的做法,因为它具有更好的性能,并且更易于实现,尤其是在添加其他属性时。而且,在类解决方案中,在更改之前您并没有记住参数,您只需要从元素中删除添加的类名。