【问题标题】:Can't I assign values from a $().attr() in the same line?我不能在同一行从 $().attr() 赋值吗?
【发布时间】:2011-08-15 20:22:46
【问题描述】:

我正在尝试这样做:

$('#smallpictureone').click(function () {
    $("mainproductpicture").attr("src") = $("smallpictureone").attr("src");
});

#mainproductpicture 是我页面上的大图。所以当有人点击较小的那个时,那个较小的那个的src应该被设置为更大的图片。

我的代码有问题吗?

【问题讨论】:

    标签: jquery selector image src attr


    【解决方案1】:

    jQuery's attr() function 使用以下语法

    $('yourselector').attr('attribute','value');
    

    出于您的目的,使用this 也可能有所帮助:

    $('#smallpictureone').click(function () {
        $("#mainproductpicture").attr("src", $(this).attr("src"));
    });
    

    还有一个 # 缺少 mainproductpicture 的选择器:

    $("mainproductpicture") 应该是 $("#mainproductpicture");

    【讨论】:

    • 我更喜欢你的回答,因为它使用了$(this),这是一个很好知道的巧妙技巧。
    • 它使事情更容易阅读,你会发现你经常使用它:) 希望它有所帮助
    【解决方案2】:

    改变:

     $("mainproductpicture").attr("src") = $("smallpictureone").attr("src");
    

    到:

     $("#mainproductpicture").attr("src", $("#smallpictureone").attr("src"));
    

    jQuery attr 采用可选的第二个参数作为值来设置该属性。而且您似乎忘记在事件处理程序 ID 中添加您的 #

    【讨论】:

      【解决方案3】:

      您需要将该值作为第二个参数传递给 attr 方法。您还需要使用 # 符号(假设它们是 id)...

      $('#smallpictureone').click(function () {
          $("#mainproductpicture").attr("src", $("#smallpictureone").attr("src"));
      });
      

      【讨论】:

        【解决方案4】:

        首先,您应该添加选择器,# 或。

        $('#smallpictureone').click(function () {
            $("#mainproductpicture").attr("src") = $("#smallpictureone").attr("src");
        });
        

        但我猜这只是一个错字,或者不是?

        其次,它必须是这种形式:

        attr(attributeName, value)

        $('#smallpictureone').click(function () {
            $("#mainproductpicture").attr("src", $(this).attr("src"));
        });
        

        【讨论】:

          【解决方案5】:

          你试过了吗

          $('#smallpictureone').click(function () {
              $("#mainproductpicture").attr("src",$("#smallpictureone").attr("src"));
          });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-02-25
            • 1970-01-01
            • 2015-02-21
            • 1970-01-01
            • 2012-08-17
            相关资源
            最近更新 更多