我的主文件是
<div id="man">
//some content
<div id="one">
//some content
<div id="two">
//some content
<div id="three">
//some content
<div id="four">
<a title="to delete">delete</a>
<a title="to reset">reset</a>
<a title="to change">change</a>
</div>...// all div ends...
<div id="woman">
//some content
<div id="one">
//some content
<div id="two">
//some content
<div id="three">
//some content
<div id="four">
<a title="to delete">delete</a>
<a title="to reset">reset</a>
<a title="to change">change</a>
</div>...// all div ends...而jquery是-
$("document").ready(function(){
$("a:contains(delete)").click(function(){
alert($(this).parent().parent().parent().parent().parent().attr("id"))
})
})有没有其他方法可以找到最顶层的父级而不是使用这个...??
发布于 2012-06-21 15:10:49
好吧,如果您必须严格遵守html结构(不能添加类等)。那么你当然可以在你的选择器中使用这个结构;
$(document).ready(function(){
    $("a:contains(delete)").click(function(){
        var pId = $(this).parents("#man").attr("id") ||
            $(this).parents("#woman").attr("id");
        alert(pId);
    });
});这也是假设您的html是格式良好的(即,您的div for man都是关闭的)。
因为ID是唯一的(或者应该是唯一的,尽管不是所有的ID都是...)而且"man“和”isn“元素必须是不相交的,一个元素只能是一个或另一个的子元素--因为这个选择器将绑定到这两个元素中的一个中的链接,所以您知道如果它的父元素不是"man”,那么它就一定是“an”。
https://stackoverflow.com/questions/11132991
复制相似问题