【问题标题】:jQuery, editing inline style tagjQuery,编辑内联样式标签
【发布时间】:2012-05-23 06:57:32
【问题描述】:

我遇到了一些 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,我尝试使用几种技术来做到这一点,例如:

  1. $(#mystyle).html(newcss);
  2. $(#mystyle).replaceWith("&lt;style id='mystyle'&gt;"+newcss+"&lt;/style&gt;")
  3. $(#mystyle).after("the newcss along with style tag"),然后删除旧的。
  4. $(#mystyle).delete() //只是想看看会发生什么。

以上所有方法都无法改变网页的外观。事实上,删除标签 (4.) 并没有使页面变得丑陋,我确实使用“检查元素”进行了检查,html 确实发生了变化,但外观没有。所以....我做错了什么?

【问题讨论】:

  • 如何帮助我们在 jsfiddle.net 上提供示例

标签: jquery tags styles


【解决方案1】:

如果您想在页面加载时设置特定元素的样式,您可以执行以下操作

$(function(){

  $('element-selector').css({
     style1:'value',
     style2:'value',
     style2:'value',
   });  

});

或在服务器上,有条件地呈现或动态构建您的样式表。

【讨论】:

    【解决方案2】:

    使用html 似乎工作得很好。见:

    http://jsfiddle.net/tGSkS/

    【讨论】:

    • 事实证明它确实有效,但 css 优先级有些错误,这就是为什么我不知道为什么它不能预览它,而是当用新的 css 重新加载时它看起来很好。抱歉打扰了。
    • 更新:其实优先级也是正确的。问题是网页中有另一个链接标签加载旧的 css,导致所有这些混乱。我为此感到非常抱歉。这么小的错误损失了几个小时。
    猜你喜欢
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 2019-01-19
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多