Jquery 将图像中的alt属性提取到div中(用于库描述)

Jquery 将图像中的alt属性提取到div中(用于库描述),jquery,attributes,alt,Jquery,Attributes,Alt,所以我有一个迷你画廊。这就是我希望它工作的方式: 大图像 div描述div 缩图 除了我不知道是否正确地将alt值提取到div.Code inc: HTML示例: <p><img id="largeImg" src="zdjecia/bawialnia.jpg" alt="Large image" /></p> <div id="opis"></div> <p class="thumbs"> <a href=

所以我有一个迷你画廊。这就是我希望它工作的方式: 大图像 div描述div 缩图

除了我不知道是否正确地将alt值提取到div.Code inc:

HTML示例:

<p><img id="largeImg" src="zdjecia/bawialnia.jpg" alt="Large image" /></p> 
  <div id="opis"></div>
<p class="thumbs">

 <a href="zdjecia/bawialnia.jpg" title="Bawialnia"><img src="zdjecia/bawialnia-thumb.jpg" alt="some description" /></a>

Jquery:

$(document).ready(function(){

 $("h2").append('<em></em>')

 $(".thumbs a").click(function(){

   var largePath = $(this).attr("href");
   var largeAlt = $(this).attr("title");

   var altText = $(this).attr("alt");


   $("#largeImg").attr({ src: largePath, alt: largeAlt });

   $("div#opis").html(altText);

   $("h2 em").html(" (" + largeAlt + ")"); return false;
 });

});
$(文档).ready(函数(){
$(“h2”)。追加(“”)
$(“.thumbs a”)。单击(函数(){
var largePath=$(this.attr(“href”);
var largeAlt=$(此).attr(“标题”);
var altText=$(this.attr(“alt”);
$(“#largeImg”).attr({src:largePath,alt:largeAlt});
$(“div#opis”).html(altText);
$(“h2 em”).html(“+largeAlt+”);返回false;
});
});
提前谢谢

在该上下文中使用
$(this).attr(“alt”)
返回的是标记的alt属性,而不是子img

试试这个:

var altText = $(this).find('img').attr('alt');
在该上下文中使用
$(this.attr(“alt”)
将返回标记的alt属性,而不是子img

试试这个:

var altText = $(this).find('img').attr('alt');

当您发现自己重复编写<代码> $(this)时,您可能会考虑进行一次并缓存结果。每次调用
$(…)
都会导致几个函数调用和一两个内存分配。在一个点击处理程序中调用三次并不重要,但这是一个坏习惯。尝试
var$this=$(this)
然后
$this.attr(“href”)
$this.attr(“title”)
,等等FWIW。(如果您正在创建闭包,您可能希望清除函数末尾的var,例如,
$this=undefined;
--当然,除非它对闭包有用。)并在命名类/ID时使用英语,否则您将创建其他(上帝保佑非波兰开发人员)谁能和你的代码一起工作-一致性更重要-所有英语或波兰语-你的选择只是保持一致。即使现在你没有和外国开发者合作,从一开始就练习也是一个好习惯。英语是所有程序员的通用语言。当你发现自己反复编写<代码>(这个)时,你可以考虑做一次,然后缓存结果。每次调用
$(…)
都会导致几个函数调用和一两个内存分配。在一个点击处理程序中调用三次并不重要,但这是一个坏习惯。尝试
var$this=$(this)
然后
$this.attr(“href”)
$this.attr(“title”)
,等等FWIW。(如果您正在创建闭包,您可能希望清除函数末尾的var,例如,
$this=undefined;
--当然,除非它对闭包有用。)并在命名类/ID时使用英语,否则您将创建其他(上帝保佑非波兰开发人员)谁能和你的代码一起工作-一致性更重要-所有英语或波兰语-你的选择只是保持一致。即使现在你没有和外国开发者合作,从一开始就练习也是一个好习惯。英语是所有程序员的共同语言。