jQuery正在获取子级的子级

jQuery getting children of children

本文关键字:获取 jQuery      更新时间:2023-09-26

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

我正试图在单击li后从某些DIV中获取文本。

这是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.$(".selector").text()是获取元素文本内容的最佳方式吗?

试试这个,

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

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

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