我想用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>
答案 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"});
}