这应该相当简单,但由于某种原因,它不起作用.
我想从驻留在标签内的图像中获取"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)
编辑:包括额外的"失踪