如果满足条件,则覆盖.data()

时间:2009-08-04 17:42:51

标签: javascript jquery

我正在做一个图片工具提示(更大的预览), 它广告替换来源的.data()。但是在.error上我希望相同的数据具有不同的值。 看起来这并没有覆盖.error上的.data(“lrgSrc”)

$ImgTipCanid.each(function() {
   var t = $(this).attr("src");
   var tt = t.replace(/medium/,"Large");
   var ttt = t.replace(/medium/,"Full");
   var noPic = t.indexOf("nopic");
   if(noPic === -1) { 
      $(this).addClass("hovelble").data("lrgSrc",tt)
      $(this).error(function(){
        $(this).data("lrgSrc",ttt);
      });
   }
}); 

1 个答案:

答案 0 :(得分:0)

$ImgTipCanid.each(function() {
            var t = $(this).attr("src");
            var tt = t.replace(/Medium/,"Large");
            var ttt = t.replace(/Medium/,"Full");
            var noPic = t.indexOf("nopic");
            if(noPic === -1)
            {
            $(this).addClass("hovelble").data("lrgSrc",tt)
        }

     });    
    var showZoomImg = function() {
    $zoomContainer.empty();
    $loaderSpiner.appendTo($zoomContainer);
    $zoomImg.appendTo($zoomContainer);
    var itemTagCntnr = $(this).parent().parent().siblings(".itemTag");
    var tag = itemTagCntnr.clone();
    if(itemTagCntnr.length > 0){
    var TagSrc = tag.children("img").attr("src");
    var newSrc = TagSrc.replace(/Tag/,"LrgTag");
    tag.children().attr("src",newSrc);
    dataTest = $(this).data("lrgSrc");
    EdataTest = dataTest.toString().replace(/Large/,"Full");
    tag.appendTo($zoomContainer);
    $zoomImg.attr("src", dataTest).error(function(){$zoomImg.attr("src",EdataTest)}).load(function(){$loaderSpiner.remove()}).parent().show();
    }
    };