【问题标题】:Crossbrowser alternative for html = $('html')html = $('html') 的跨浏览器替代方案
【发布时间】:2012-12-14 11:10:23
【问题描述】:

这样写是不是太坑爹了?

var html = $('html');

似乎html 等于$(window)$(document)

如何用跨浏览器原生 javascript 代替?

【问题讨论】:

    标签: javascript jquery html window native


    【解决方案1】:

    顶级元素(在 HTML 文档的情况下为html)可用作document.documentElement(参考:spec | MDN)。

    当然,如果您想在上面使用 jQuery 的东西,请获取 jQuery 包装器:$(document.documentElement)

    在跨浏览器支持方面,如果您发现任何不支持它的甚至是模糊的最近的东西(并且 包括 IE6),我会相当震惊,它实际上是在 DOM1 中,这是 很久 以前的事了。有关该主题,请参阅 this related question

    【讨论】:

    • 似乎应该是 $(document.documentElement) 用于对象使用。
    • @Steve:是的,得到很好的支持,它实际上是在 很久 以前的 DOM1 中(这并不一定意味着什么)。是的,如果你想要一个 jQuery 包装器,你可以把它包装在一个 jQuery 实例中;你说的是“原生 JavaScript”,所以我没有包含 jQuery 包装器。
    猜你喜欢
    • 2015-05-27
    • 1970-01-01
    • 2012-05-20
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多