Javascript 如何使用jquery获取和设置数据变量?
如果我的img标签有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
,我的图像有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']
}
})
}