从位于<a>标记内的图像中获取"alt"属性

Mar*_*rco 12 jquery next

这应该相当简单,但由于某种原因,它不起作用.

我想从驻留在标签内的图像中获取"alt"属性

<div id="album-artwork">
<ul>
   <li><a href="link to large image"><img src="thumbnail" alt="description of the image" /></a></li>
   ...
</ul>
</div>



$("#album-artwork a").click(function(e) {
e.preventDefault();

var src = $(this).attr("href");
var alt = $(this).next("img").attr("alt");


alert(src); // ok!
alert(alt); //output: undefined

});
Run Code Online (Sandbox Code Playgroud)

任何想法为什么next()不起作用?那里有更好的解决方案吗?

在此先感谢Marco

Cat*_*ish 24

这是因为图像标签位于ul标签内.next只查找同一级别的标签.你必须使用

var alt = $(this).children("img").attr("alt");
Run Code Online (Sandbox Code Playgroud)

编辑:包括额外的"失踪


mar*_*rko 6

$(this).find('img').attr('alt'); 
Run Code Online (Sandbox Code Playgroud)