如何简化基于jQuery标题的警报代码?

时间:2013-06-05 14:19:29

标签: javascript jquery html parent-child parent

我在编写复杂的应用程序时,我的jQuery代码更有效率。 有没有办法让这段代码更好用?多个parent()函数肯定不是最佳选择!

这是我的jQuery代码(在文档就绪代码之外):

$(".icon .remove a").click(function (m) {
    m.preventDefault();
    var caption = $(this).parent().parent().children("a").children(".caption").contents().text();
    confirm("Are you sure you want to delete "+caption+"?");
});

这是有问题的HTML:

<div class="icon">
    <span class="config"><a href="#"><i class="icon-cog"></i></a></span>
    <span class="remove"><a href="#"><i class="icon-remove-sign"></i></a></span>
    <a href="#">
        <span class="image"><img src="https://si0.twimg.com/profile_images/3653636892/753cd0095b234e216b1ffc50911a0203_bigger.png" alt="ProbabilityWolf"></span>
        <span class="caption">ProbabilityWolf</span>
    </a>
</div>

我认为必须有一种简化获取标题的方法!这里称为“图标”的位重复多次,并且总是有不同的标题,但总是具有相同的结构。

1 个答案:

答案 0 :(得分:3)

您可以使用.closest()和选择器来查找元素。

var caption = $(this).closest(".icon").find("a .caption").text();