我在使用某些 css+javascript 时遇到了问题。你看,我正在尝试制作某种所见即所得的网页样式编辑器,其中有一个 iframe 加载包含类似代码的网页。
<head>
<style id=mystyle>
/* something is here */
</style>
</head>
<body>
<h1>Other, quite a lot autogenerated stuff along with javascript that add some interactivity.</h1>
</body>
现在,我需要修改 #mystyle 的内容,以便它实时反映到页面。使用jquery,我尝试使用几种技术来做到这一点,例如:
-
$(#mystyle).html(newcss);
-
$(#mystyle).replaceWith("<style id='mystyle'>"+newcss+"</style>")
-
$(#mystyle).after("the newcss along with style tag")
,然后删除旧的。 -
$(#mystyle).delete()
//只是为了看看会发生什么。
以上所有内容都无法改变网页的外观。事实上,删除标签 (4.),并没有让页面变得丑陋,我确实使用"检查元素"进行了检查,html 确实发生了变化,但外观没有。 所以....我做错了什么?
使用html
似乎工作得很好。 请参阅:
http://jsfiddle.net/tGSkS/
如果要在页面加载时设置特定元素的样式,则可以执行以下操作
$(function(){
$('element-selector').css({
style1:'value',
style2:'value',
style2:'value',
});
});
或在服务器上,有条件地呈现或动态生成样式表。