jQuery让孩子的孩子

时间:2012-03-03 15:56:33

标签: javascript jquery html

我遇到了问题,我无法理解发生了什么 我正在处理这个问题几个小时。

点击DIV后,我正试图从li个文本中获取文字。

以下是ul列表和li

的html
<ul id="thumbsUL" runat="server" class="thumbs noscript">
    <li>
        <a class="thumb" name="leaf" href="http://farm4.static.flickr.com/3261/2538183196_8baf9a8015.jpg" title="Title #0">
           <img src="http://farm4.static.flickr.com/3261/2538183196_8baf9a8015_s.jpg" alt="Title #0" />
        </a>
        <div class="caption">
            <div class="image-title">Title #0</div>
            <div class="image-desc">Description</div>
        </div>
    </li>
</ul>

这是脚本(我尝试过的最多的一个):

$("#thumbsUL li").click(function () {
    var title = $(this).children(".caption").children(".image-title").text();
    alert(title);
});

警报火,但没有图像标题文字的文字。

1.我在做什么?

2.有没有更好的方法让孩子们接受?

3.is $(".selector").text()是获取元素文本内容的最佳方式吗?

2 个答案:

答案 0 :(得分:1)

试试这个,

$("#thumbsUL li").click(function () {
    var title = $(this).find(".image-title").html();
    alert(title);    
});

答案 1 :(得分:1)

您的选择器返回元素集合。使用更具体的选择器,你会没事的。在我的示例中,我使用的是first()

var title = $(this).find('.image-title').first().text();