jquery发现img在特殊情况下返回undefined

时间:2013-05-01 21:55:59

标签: jquery

描述我的情况,这就是我所拥有的:

javascript代码:

$("#tf_zoom").live("click",function() {

    console.log($("#dynam").attr("src"));
}

这里我第一次得到了值,但是在滑块更改图像后,我得到未定义

我也尝试过:

console.log($(this).find("img").attr("src"));

但是这个根本不起作用。

html代码:

<div id="tf_thumbs" class="tf_thumbs">
            <span id="tf_zoom" class="tf_zoom"></span>
            <img id="dynam" src="http://localhost/mala/assets/uploads/files/c9ab2-1.jpg" alt="Thumb1"/>
        </div>

我提到的问题是滑块会更改图片并将img标记修改为新的src属性。

所以我应该怎么做。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

正如@FrançoisWahl在评论中提到的,我使用#tf_zoom作为我的图片标签的父母,这是我出错的地方。所以,我编辑了我的代码,使用.tf_thumbs作为我的图片标记的父级,现在它正在工作。

 $("#tf_zoom").live("click",function() {

    var n = $(".tf_thumbs").find("img").attr("src");
    //var imagespathes = {};
    //console.log($(".tf_thumbs").find("img").attr("src"));
    var modelid = n.substr(43); 


    $.post("models/get_gallery", { "modelid": modelid },
  function(data){
        //console.log(data);
        var imagespathes = $(data).map(function(key, url){
        return({ href: '<?php echo base_url();?>assets/uploads/files/' + url });
      });
      console.log(imagespathes);
  $.fancybox.open(imagespathes);
  }, "json");

            });