我找不到子节点alt属性,我知道我有正确的父节点。我做错了什么?
Bar1很好,但我找不到bar2。
<ul class="small-image">
<li><a id="foo1"><img src="../images/imageSlide/s2.jpg" alt="pic1"></a></li>
<li><a id="foo2"><img src="../images/imageSlide/s2.jpg" alt="pic2"></a></li>
<ul>
$('ul.small-image li a').bind('click',function(){
var elm = '#'+$(this+'div:first-child').attr('alt');
//var elm = '#'+$(this+'img').attr('alt');
console.log("Bar1: "+$(this).attr('id')) ;
console.log("Bar2: "+elm);
});
答案 0 :(得分:1)
我认为您正在尝试从图像中选择alt
$('ul.small-image li a').bind('click',function(){
console.log("Bar1: "+ $(this).attr('id')) ;
console.log("Bar2: "+ $(this).find("img").attr("alt")); // Find the image INSIDE the current A
});
this
将是A,因此您必须在点击的a中找到图像并获取属性alt
。只需使用$(this).find("img").attr("alt")
和jsfiddle http://jsfiddle.net/kL5P5/
答案 1 :(得分:0)
子节点属性仅返回第一个子节点(仅限foo1)。我想你可能想查看jQuery的.children()函数。