在JavaScript中,样式的属性名称为什么不和css保持一致?
css属性一般是font-weight,backgroud-color,而到JavaScript中这些属性名称去变成了fontWeight和backgroudColor。...
css属性一般是font-weight, backgroud-color,而到JavaScript中这些属性名称去变成了fontWeight和backgroudColor。保持一样的属性名不是更好么?
展开
2个回答
展开全部
这是由JavaScript的语法导致的,JavaScript并不能很好的解析css那样的书写格式。
首先我们先回答另一个问题,JavaScript和css中属性名称有哪些差异?主要有两个:
1、 JavaScript使用驼峰命名法,而css不是。
2、 JavaScript的属性值用字符串表示,而css不是。
而导致这两个原因的就是JavaScript的语法。
1、 在css中,属性名中的单词之间是用横杠隔开,如font-weight, background-color。但在JavaScript中,横杠可能被认为是减号,所以采用驼峰命名法,单词之间不用横杠,如font-weight在JavaScript中应该写成fontWeight;而background-color写成backgroundColor。
2、 在JavaScript中,属性值都写在双引号中,即要用字符串来给JavaScript相关属性赋值,同样当属性值有单位时,我们需要将单位也写在字符串中。示例:
myElement.style.fontWeight = “bold”;
myElement.style.width = “230px”;
而在css中直接写成:
width: 230px;
font-weight:bold
其中属性值230px在JavaScript中可能会被认为是一个不合法的变量,因为它以数字开头,而bold也会被认为是一个变量,而不是表示字体的一种格式。所以JavaScript的属性值用字符串表示。
另外,秒秒学在《使用JavaScript美化界面》一章中详细说明了JavaScript是如何动态的改变样式的,你可以去看下。
首先我们先回答另一个问题,JavaScript和css中属性名称有哪些差异?主要有两个:
1、 JavaScript使用驼峰命名法,而css不是。
2、 JavaScript的属性值用字符串表示,而css不是。
而导致这两个原因的就是JavaScript的语法。
1、 在css中,属性名中的单词之间是用横杠隔开,如font-weight, background-color。但在JavaScript中,横杠可能被认为是减号,所以采用驼峰命名法,单词之间不用横杠,如font-weight在JavaScript中应该写成fontWeight;而background-color写成backgroundColor。
2、 在JavaScript中,属性值都写在双引号中,即要用字符串来给JavaScript相关属性赋值,同样当属性值有单位时,我们需要将单位也写在字符串中。示例:
myElement.style.fontWeight = “bold”;
myElement.style.width = “230px”;
而在css中直接写成:
width: 230px;
font-weight:bold
其中属性值230px在JavaScript中可能会被认为是一个不合法的变量,因为它以数字开头,而bold也会被认为是一个变量,而不是表示字体的一种格式。所以JavaScript的属性值用字符串表示。
另外,秒秒学在《使用JavaScript美化界面》一章中详细说明了JavaScript是如何动态的改变样式的,你可以去看下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询