找不到图像子节点jquery

时间:2012-03-23 15:26:52

标签: jquery

我找不到子节点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);

});

2 个答案:

答案 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()函数。