【问题标题】:jQuery without domready没有 domready 的 jQuery
【发布时间】:2010-06-15 19:05:18
【问题描述】:

正在寻找添加此代码的方法,after the <head>(或一些<link stylesheet>)和before <body>已生成(已创建)。

$('body').append('<style type="text/css">\
    // some
    // multiline
    // styles
</style>');

没有domready() 就没有&lt;body&gt;,因此使用head 或其他东西似乎更好。 Append也可以替换。

没有直接访问 html 文件编辑,这就是我使用 javascript 的原因。

为什么需要它?当我们使用domready() 脚本时在页面生成后添加样式,因此具有新样式的块从以前的装饰跳转到新的 - 不好,这就是为什么我们应该使用另一个钩子。

有人知道怎么做吗?

谢谢。

【问题讨论】:

  • 我可能听不太清楚,但$(document).ready 有什么问题?
  • @Kobi - 更新和描述

标签: jquery domready


【解决方案1】:
<script type="text/javascript">
document.write('<style type="text/css">\
    // some
    // multiline
    // styles
</style>');
</script>

把它放在任何你想要的地方。

编辑:我不认为你想要什么是可能的,但我很想被证明是错误的。 DOM 解析阶段没有任何挂钩。一旦构建了 DOM,就为您的目的而言已经太迟了。

【讨论】:

  • 你不懂。我只能访问 javascript 文件,该文件在页面开始加载之前自动加载。这不是普通的 javascript 钩子,它是浏览器的 userjs
  • 嗯,你的问题没有这么说。所以你有一个来自某个地方的 HTML 页面,你想纯粹通过 JavaScript 向其中注入一些样式,你不想在 domready 上做,但在那之前?
  • @Anurag - 想要在 生成/创建之前添加样式。可能进入 ,或者在 之后进入原始 css 文件。
  • 所有 放在 部分
  • 我不确定我是否应该对您提出的document.write 感到更加沮丧,或者这似乎是正确的答案。 :-(
【解决方案2】:

您尝试过$('body').prepend()$('head').append() 吗?在使用 jquery 注入 html 之前,您需要准备好 DOM,所以我认为您已经准备好文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多