2011-01-26 66 views
0

所以我有这个迷你画廊。这是我想要的工作: IMG BIG图片IMG DIV描述DIV IMG缩略图的img从图像提取alt属性到div(图库描述目的)

Everyting工作正常,唯独我不知道我是否正确提取ALT值成股利。代码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; 
}); 

}); 

提前感谢!

+1

当你发现自己写的'$(本)'反复,你可能会考虑做一次和缓存结果来代替。 *对'$(...)'的每个*调用都会导致几个函数调用和一个或两个内存分配。点击处理程序中的三个呼叫并不重要,但这是一个不好的习惯。试试'var $ this = $(this);'then'$ this.attr(“href”)','$ this.attr(“title”)'等等。 (如果你正在创建闭包,你可能想在你的函数结束时清除这个变量,例如'$ this = undefined;' - 当然,除非闭包有用。) –

+3

在命名时使用英文你的课程/ ids,或者你会让其他(不保存非波兰语的开发者)可以与你的代码一起工作 - 一致性更重要 - 一切都是英语或波兰语 - 你的选择是一致的。 即使现在你没有与外国开发者合作,从头开始练习是一个好习惯。英语是所有程序员的通用语言。 –

回答

6

在该上下文中使用$(this).attr("alt")将返回a标签的alt属性,而不是子img。

试试这个:

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