在javascript中通过class属性应用样式时是否有限制?
Is there a limitation when applying the style via the class attribute in javascript?
我试图通过javascript创建一个标签,但css似乎不适用。
示例代码(在Chrome中测试):
<html>
<head>
<style type="text/css">
#wrapper {
width:700px;
}
#form_groups .label {
float:left;
clear:left;
width:180px;
margin-right:3px;
margin-top:2px;
background-color:red;
}
#the_id {
background-color: #FBEF99;
font-family:"Lucida Console", Monaco, monospace;
font-size: .9em;
width: 300px;
margin-top: 2px;
}
</style>
</head>
<body>
<input type="submit" value="Create" onclick="createForm()"/>
<div id="wrapper">
<form id="form_groups" action="">
<label class="label">Id</label>
<input id="the_id" type="text" value="1">
</form>
</div>
<script type="text/javascript">
function createForm () {
var wrapper = document.getElementById('wrapper');
var form = document.getElementById('form_groups');
wrapper.removeChild(form);
form = document.createElement('form');
form.id='form_groups';
var lbl = document.createElement('label');
lbl.textContent = 'Name';
lbl.class = 'label';
var name = document.createElement('input');
name.type = 'text';
name.id='the_id';
form.appendChild(lbl);
form.appendChild(name);
wrapper.appendChild(form);
}
</script>
</body>
</html>
当我按下按钮Create
时,文本得到css,但标签没有。
是否有一个限制时,分配一个样式使用class
属性动态通过javascript?
您应该使用className
而不是class
。
lbl.className = 'label';
现代浏览器支持classList
lbl.classList.add("label");
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- d3.js圆的半径是否可以由样式属性指定
- 是否可以在网页上用另一种字体设置jqmath-display的样式
- 检测价格是否高于或低于200.00,然后设置(此)表格行的样式
- 是否可以在传单中使用Mapbox研究中制作的样式
- 是否可以在材质ui中只更改样式道具中的一个属性
- 是否可以对three.js自动生成的画布进行样式化/定位
- 应用样式,无论元素是否已使用 jQuery 添加到 DOM 中
- 检测样式表是否无法加载(在 Firefox 上不起作用)
- 对于 css 样式,是否有等效的 eval
- 是否有可能在具有内联样式的样式标签上使用XSS进行攻击
- Javascript:如何检查样式是否已注入
- 是否可以使用带有自定义地图框样式的传单版本 1
- 是否可以从外部样式表中获取 dom 元素的特定 css 属性的值,而不是从计算的样式表中获取
- 检测样式是否为用户样式
- 是否可以在打字稿中使用 nodejs 样式模块
- 无论如何,是否可以强制所有样式“阻止”或“无”而不通过循环
- 是否可以设置跨域 iframe 内容的样式
- 如何使用javascript检查HTML样式属性是否存在
- JavaScript库应该如何设置默认的CSS样式(是否有“不重要”?)