【问题标题】:jQuery: use the "name" as img "src"jQuery:使用“名称”作为img“src”
【发布时间】:2010-11-28 03:36:19
【问题描述】:

我的问题: 我有一个img标签

<img class="myclassname" src="1.jpg" name="2.jpg">

我想使用 jquery 将 img 源(当前为 1.jpg)更改为我在“名称”属性 (2.jpg) 中编写的那个。

为什么这不起作用?

$(".myclassname").attr("src", $(this).attr("name"));  

感谢您的帮助!问候马夫卡

(ps:当然,脚本更复杂,但这是我卡住的问题)

【问题讨论】:

  • 这不起作用的原因是this 没有您想要的上下文。它将实际引用window 对象。如果您遵循 Daniel 的提示,它应该可以工作。谷歌“Javascript 关闭”以了解更多信息。
  • 我会使用选择器 img.myclassname 来确保您只抓取 IMG 标签

标签: jquery image src


【解决方案1】:

您需要遍历具有该类名的所有标签,因为 $(this) 在该上下文中是未知的。

尝试类似:

$(".myclassname").each(function() {
    $(this).attr("src", $(this).attr("name"));
});

【讨论】:

    【解决方案2】:
    $(".myclassname").each(function (){
    $(this).attr("src",$(this).attr("name"));
    });
    

    您的代码的问题是 jQuery 不知道该上下文中的“this”是什么。

    【讨论】:

      【解决方案3】:

      我希望这会有所帮助...

              $(".test").each(function() {
                  $(this).attr("src", $(this).attr("name"));
                  alert($(this).attr("src"));
              });
      

      【讨论】:

        【解决方案4】:

        将对 myclassname 的引用存储在一个变量中。还将使您的脚本更清晰易读:

        var _myClassname = $(".myclassname");
        _myClassname.attr("src", _myClassname.attr("name"));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-22
          • 2019-04-27
          • 1970-01-01
          • 2014-03-17
          • 1970-01-01
          • 2014-05-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多