Javascript和CSS,使用破折号
我开始学习一些JavaScript,并明白在命名标识符时不允许出现破折号。 但是,在CSS中,通常使用短划线作为ID和类。
在CSS中使用短划线会干扰JavaScript交互吗? 例如,如果我要使用getElementByID(“css-dash-name”)。 我已经尝试了几个使用带破折号的getElementByID作为div ID名称的例子,它的工作原理,但我不确定是否在所有其他情况下都是这种情况。
如果在ID中使用破折号和下划线(或者如果您选择了类名称),则不会产生任何负面影响,所以使用它们是安全的。 你不能做这样的事情:
var some-element = document.getElementByID('css-dash-name');
上面的示例将会出错,因为您要将元素分配给的变量中有一个短划线。
以下将很好,但因为该变量不包含破折号:
var someElement = document.getElementByID('css-dash-name');
该命名限制仅存在于JavaScript变量本身。
只有在可以将元素作为属性进行访问的情况下,它才会有所作为。 例如表单字段:
<form>
<input type="text" name="go-figure" />
<input type="button" value="Eat me!" onclick="...">
</form>
在onclick事件中,您无法将文本框作为属性访问,因为在JavaScript中短划线被解释为减号:
onclick="this.form.go-figure.value='Ouch!';"
但是你仍然可以使用字符串来访问它:
onclick="this.form['go-figure'].value='Ouch!';"
无论何时您必须将CSS属性作为JavaScript变量名称,CamelCase才是正式的方法。
element.style.backgroundColor = "#FFFFFF";
你永远不会需要将元素的ID作为变量名称来处理。 它总是在一个字符串中,所以
document.getElementById("my-id");
将始终工作。
链接地址: http://www.djcxy.com/p/88307.html上一篇: Javascript and CSS, using dashes
下一篇: How can I make my flexbox layout take 100% vertical space?