我想动态地将更多的css类直接应用于内联样式标记,我尝试下面不能正常工作(在我的情况下我无法创建一个类) 它适用于标签,但不适用于
<script type='text/javascript'>
function CommonClassCreateFunction()
{
var css_cls="{color: #900;margin-top:20px;}:hover {margin-top:0px;}";
return css_cls;
}
</script>
-----
-----
<script type='text/javascript'>
var css_cls=CommonClassCreateFunction();
$('#iiffrraammee').contents().find('#newtxtid').css(css_cls);
</script>
-----
-----
<textarea class="expand close" id="newtxtid" name="ta" wrap="hard" spellcheck="false"></textarea>
答案 0 :(得分:0)
CSS
.txtClass{ color: #900; margin-top:20px;}
.txtClass:hover{ margin-top:0px;}
JQuery的的
$('#iiffrraammee').contents().find('#newtxtid').addClass('txtClass');
演示:
答案 1 :(得分:0)
jQuery允许您使用它的.css()
函数更改css。您可以通过将css规则作为参数传递来执行此操作:
$('#iiffrraammee').contents().find('#newtxtid').newtxtid.css({
'color': '#900',
'margin-top': '20px',
});
$('#iiffrraammee').contents().find('#newtxtid:hover').newtxtid.css({
'margin-top': '0px'
});
答案 2 :(得分:0)
你不能这样做,内联样式只支持属性,你要做的是在.css文件或标签之间定义类属性,并将这个类添加到DOM中。
例:
<强> CSS 强>
<style>
.NewClass{ color: #900; margin-top:20px;
}
.NewClass:hover{ margin-top:0px;
}
</style>
<强> jQuery的:强>
$('#iiffrraammee').contents().find('#newtxtid').addClass('NewClass');
答案 3 :(得分:0)
Javascript在html源代码中出现后立即运行。在您的示例中,javascript位于要修改的html上方,这会导致错误。
让所有HTML下载和显示未格式化然后应用CSS将导致浏览器呈现未格式化的html然后更改它。该网站对许多人来说都是破碎的,重新格式化将分散注意力并产生网站缓慢的感觉。这不是一个好的用户体验。
jquery基本上更改了标签内联属性。
:hover是一个伪选择器,用于样式表。使用javascript创建样式表并非不可能,但这是不切实际的...... How to write a:hover in inline CSS? ...但是为了用户的缘故,我不推荐这种做法。
注意:工作草案中考虑了内联伪选择器,http://www.w3.org/TR/2002/WD-css-style-attr-20020515但它们从未被采用,在现代浏览器中不起作用。