【问题标题】:Detecting HTML5 data attribute in Modernizr在 Modernizr 中检测 HTML5 数据属性
【发布时间】:2011-09-07 18:54:24
【问题描述】:

如何使用 Modernizr 检测浏览器是否支持 HTML5 data 属性?

【问题讨论】:

    标签: html modernizr feature-detection custom-data-attribute


    【解决方案1】:

    测试一个元素是否有属性dataset

    Modernizr.addTest('data', function () {
        var elem = document.createElement('div');
        return !!elem.dataset;
    });
    

    【讨论】:

    • !! 只是确保返回的值是truefalse,而不是例如undefined,其计算结果为falsefunction(){/* code */},其计算结果为@ 987654329@ 被视为布尔值。
    • 是的。在不支持的浏览器中 elem.dataset = undefined。 ! 未定义 = 真。 !真=假。所以 !!elem.dataset 在不受支持的浏览器中返回 false。在受支持的情况下,它返回一个 DOMStringMap,它不是一个虚假值。 !那 = 假,!假 = 真。
    • @Rich 您如何在if 声明中使用它?换句话说,如果这是真的,我想执行一个动作,如果它是假的,我想执行另一个动作。你是在 .addTest 函数内部还是外部这样做?
    • 首先运行它,然后它将生成变量 Modernizr.data,它是一个布尔值。如果需要,它还会将“数据”类添加到 html 元素中,用于 CSS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多