Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery获取和设置数据变量?_Javascript_Jquery_Html_Responsive - Fatal编程技术网

Javascript 如何使用jquery获取和设置数据变量?

Javascript 如何使用jquery获取和设置数据变量?,javascript,jquery,html,responsive,Javascript,Jquery,Html,Responsive,如果我的img标签有,我的图像有data-web-src,data-tablet-src和data-mobil-src,如果我的img标签有。lazy_-res类而不是。lazyload则将data-web-src的值设置为src,但如果屏幕(或设备)tablet是否比将数据tablet src设置为srcvalue的值设置为src我想对我网页上的所有图像执行此操作,但我找不到解决方案您是我的代码 $(文档).ready(函数(){ 函数noLazyImages(e){ var getWebS

如果我的img标签有
,我的图像有
data-web-src
data-tablet-src
data-mobil-src
,如果我的img标签有
。lazy_-res
类而不是
。lazyload
则将
data-web-src
的值设置为
src
,但如果屏幕(或设备)tablet是否比将数据tablet src设置为
src
value的值设置为
src
我想对我网页上的所有图像执行此操作,但我找不到解决方案您是我的代码

$(文档).ready(函数(){
函数noLazyImages(e){
var getWebSrc=$(e).attr(“数据web src”);
var getTabletSrc=$(e).attr(“数据表src”);
var getMobilSrc=$(e).attr(“数据移动src”);
if($(“.box img”).hasClass(“lazy_res”)){
如果($(窗口).width()>960){
$(e).attr(“src”,getWebSrc);
}else if($(窗口).width()<768){
$(e).attr(“src”,getTabletSrc);
}else if($(窗口).width()<480){
$(e).attr(“src”,getMobilSrc);
}
}否则{
//什么也不做。。
}
}
noLazyImages(“.box img”);
});

您需要遍历所有这些对象,并获取和设置特定于实例的值

可以使用
attr(函数)

函数noLazyImages(e){
$(e+'.lazy_res').attr('src',function('uu,oldSrc){
var elData=$(this).data(),
winWidth=$(窗口).width();
如果(winWidth>960){
返回elData['webSrc']
}否则如果(winWidth<768&&winWidth>=480){
返回elData['tabletSrc']
}否则如果(winWidth<480){
返回elData['mobilSrc']
}
})
}

检查这可能会有所帮助,呃,使用.attr访问数据-*属性没有问题。它的性能甚至比使用jQuery的.data更高。嗨,我对数据属性没有任何问题,我只是对我喜欢的jQuery有一些问题,而且我是jQuery的初学者。我怎么能做我想做的事呢?@KevinB每次触摸DOM比触摸它一次然后使用JS对象要快多少?谢谢,但没有办法我可以申请我的代码吗?如何申请?关闭该函数。我理解,但我想我刚才试过的不起作用:)我试着像我之前说的那样理解函数,我是jqueryI fixed mobile的新手…需要更改
if()
一点请参见
&&winWidth>=480
。如果需要,也可以在窗口大小调整处理程序中调用此函数
 function noLazyImages(e) {
   $(e + '.lazy_res').attr('src', function(_, oldSrc) {
     var elData = $(this).data(),
         winWidth = $(window).width();
     if (winWidth  > 960) {
       return elData['webSrc']
     } else if (winWidth  < 768 && winWidth >=480) {
       return elData['tabletSrc']
     } else if (winWidth  < 480) {
       return elData['mobilSrc']
     }
   })
 }