我不能在同一行中分配$()。attr()的值吗?

时间:2011-08-15 20:22:47

标签: jquery selector image src attr

我正在尝试这样做:

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

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

我的代码有问题吗?

5 个答案:

答案 0 :(得分:4)

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

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

出于您的目的,使用this也可以提供帮助:

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

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

$("mainproductpicture") 应为 $("#mainproductpicture");

答案 1 :(得分:3)

变化:

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

为:

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

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

中添加#

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

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

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

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

其次,必须采用以下形式:

attr(attributeName,value)

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

答案 4 :(得分:0)

你试过吗

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