将自定义数据属性添加到DOM元素

时间:2014-10-07 16:53:49

标签: javascript jquery html

我想用jQuery将data属性添加到DOM元素,但仅当$(window).width大于800px时。所以现在我有了这个代码而且它没有用。

注意:Chrome开发者工具不会报告代码中的任何问题。

代码:

<div id="wallpaper"></div>
<div id="wallpaper-right"></div>
<div class="container"></div>

的jQuery

var width = $(window).width(),
    wallpapers = $("#wallpaper, #wallpaper-right"),
    container = $(".container");

if ( width > 800) {
    wallpapers.data("stellar-ratio") === 0.1;
    container.data("stellar-ratio") === 1;
}

添加data属性后,HTML中的所需结果:

<div id="wallpaper" data-stellar-ratio="0.1"></div>
<div id="wallpaper-right" data-stellar-ratio="0.1"></div>
<div class="container" data-stellar-ratio="1"></div>

3 个答案:

答案 0 :(得分:4)

要将值设置为data属性,您应将其作为.data()方法中的第二个参数传递:

wallpapers.data("stellar-ratio", 0.1);
container.data("stellar-ratio", 1);

您在此处所写的是比较data-stellar-ratio和0.1或1之间的值和类型。

这里是.data()的{​​{3}}。

答案 1 :(得分:1)

要设置数据值,您需要将其作为方法的第二个参数

传递
var width = $(window).width(),
    wallpapers = $("#wallpaper, #wallpaper-right"),
    container = $(".container");

if ( width > 800) {
    wallpapers.data("stellar-ratio",0.1);
    container.data("stellar-ratio",1);
}

答案 2 :(得分:1)

你也可以尝试这个

   if ( width > 800) {
        wallpapers.attr({"data-stellar-ratio":"0.1"});
        container.attr({"data-stellar-ratio":"1"});
    }