1

我希望使用 Javascript 或 jQuery 从 HTML 中单击的特定图像中提取 alt 标记,并将其值复制到标题字段中。

function change_image(diff){
  var newAlt = $(this).attr('alt');
  position = (position + diff + hrefs.length) % hrefs.length;
  revealImage(hrefs[position]);
  $nav.find('.counter').html(newAlt);
}

这就是我到目前为止所拥有的,但它不起作用。

4

1 回答 1

1

您在函数中使用this关键字,如果您像这样绑定它,它将引用触发事件的元素:

$('img').click(change_image);

但是由于您的函数中有一个参数,我认为您正在使用普通函数调用来调用它,这样,上下文(this关键字)就不会被保留,您可以:

$('img').click(function () {
  change_image.call(this, 5); // preserve the context and pass a diff value
});
于 2009-09-18T16:16:50.457 回答