求助JS修改,获取标签里的值

比如说:<divid="imglist"><ul><li><imgid="img_1"data-thumb="略缩图1"src="大图1"</li><li><imgid=... 比如说:
<div id="imglist">
<ul>
<li><img id="img_1" data-thumb="略缩图1" src="大图1"</li>
<li><img id="img_2" data-thumb="略缩图2" src="大图2"</li>
<li><img id="img_3" data-thumb="略缩图3" src="大图3"</li>
<li><img id="img_4" data-thumb="略缩图4" src="大图4"</li>
......
</ul>
</div>

有段JS是这样的
return this.each(function() {
var $this = $(this),
$imgs = $(this).find("img"),
imgLen = 0,
selectText = "",
ImgIdx = 0,
arrPath = [],
arrTitle = [];
for(var x = 0; x < $imgs.length; x++){
var $thisImg = $imgs.eq(x)
imgurl = $thisImg.attr("src").split('.');
$thisImgs = imgurl.join('_s.');
var _src = $thisImg.attr("src");
$thisImg.attr({"src":"","data-src":_src});
if(x<tt){$thisImg.attr("src",_src);}
imgsrclist['img_'+x] = _src
if((x+1) == options.Default ){
selectText = $thisImg.attr("title");
ImgIdx = x;
imgShow(ImgIdx);
};
arrTitle.push($thisImg.attr("title"))
arrPath.push("<dd><div></div><img src="+ $thisImgs +" height=" + options.height + " width=" + options.width+ " /></dd>");
imgLen = x + 1;
};

这里JS原本是,获取了src的值后,加_s后缀,作为略缩图,大图延迟加载,只有点到略缩图才会加载大图。

但是目前有个变动,就是略缩图,不再是以_s命名了,可能是其它的名字,为了便于获取,我把略缩图,加到img标签里,即data-thumb= "....."

我现在想把JS里,原本加_s的,去掉,改成读取 data-thumb 的值,延迟加载效果不变。
能实现吗?
展开
 我来答
阿刚炖蛋
2019-05-22 · TA获得超过3004个赞
知道大有可为答主
回答量:1789
采纳率:92%
帮助的人:1003万
展开全部

你好!

根据你贴的内容来分析,上面只有一处有涉及到'_s'的地方,
之前处理的逻辑是先取出src,然后对src进行文件名+'_s'(a.jpg->a_s.jpg)的操作后返回,
既然现在要放在data-thumb属性当中获取,那么可以做下面的修改:

imgurl = $thisImg.attr("src").split('.');
$thisImgs = imgurl.join('_s.');

替换为
$thisImgs = $thisImg.attr("data-thumb");

希望对你有帮助!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式