jQuery:查找包含嵌套ul的列表项的文本

前端之家收集整理的这篇文章主要介绍了jQuery:查找包含嵌套ul的列表项的文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下几点:
<ul id="list">
<li>item1
    <ul>
        <li>sub1</li>
        <li>sub2</li>
    </ul>    
</li>
</ul>

我想回应一个li点击事件,并在其他地方使用li的文本。然而,如果点击是包含一个嵌套的ul的li,我当然会得到所有元素的文本。

$("#list li").click(function() {
    alert($(this).text());
});

按预期返回item1sub1sub2。

如果单击1L,我不知道如何得到’item1’。我尝试了以下(除其他外)没有运气:

$("#list li").click(function() {
    alert($(this).filter("ul").text());
});

有任何想法吗?

编辑

这是一个例子的代码片段 – 它可能是多层次深入。我也不想在列表或其他标记中包装列表项文本。

解决方法

这个方法怎么办?克隆对象,删除克隆的孩子,然后找到文本内容
$("#list li").click(function () {
    alert($(this).clone().children().remove().end().text());
}

也许不是最有效的方法,但它是完全直观的,很整洁,你不必用你的HTML。

猜你在找的jQuery相关文章