0

我有问题,即如何选择以前的 div 代码:-

if($i > $start_from){
                echo "<div id=\"blog$i\"><h1 style=\"padding-top:30px; font-size:14px;\" id=\"shareContent\"><a target=\"_blank\" href=\"$url\">$title</a><br /></h1>
                $desc
                <br />
                <p><em>hahaquotes, DATED: $date, URL: <a target=\"_blank\" href=\"$url\">$url</a></em></p>
                <div class=\"applyLink\" style=\"width:720px; padding-right:12px; margin-top:20px;\">
                <p><a target=\"_blank\" href=\"$url\">READ</a><span style=\"float:right; cursor:pointer;\"><a class=\"delete\">DELETE</a></span></p>
                </div></div>";
                if($i == $start_from + 4) break; 
                }
                }

这是我的代码当我单击删除时,整个 div 应该被删除,div 的 id 是动态创建的,我如何使用 jquery 实现这一点。请帮助我提前谢谢你

4

4 回答 4

3

delete使用类作为选择器将点击处理程序附加到锚点。在处理程序this中将引用单击的元素,然后您可以从那里遍历到要删除的内容,而无需知道其 ID:

$("a.delete").click(function() {
    $(this).closest("div").closest("div").remove();
});

.closest()方法向上遍历 DOM 以找到与提供的选择器匹配的最近的祖先。在您的特定 html 结构中,您要查找的 div 是第二接近的,所以我只是将两个调用链接.closest()在一起。

如果您修改 html 以提供要删除特定类的 div,例如“条目”,则可以简化此操作,因为您可以通过一次调用遍历它,.closest()如下所示:

echo "<div id=\"blog$i\" class=\"entry\">(etc.)"

$("a.delete").click(function() {
    $(this).closest("div.entry").remove();
});

如果你有几个这样的结构,那么每个“删除”链接只会删除它所属的 div。

于 2012-06-26T05:29:50.650 回答
0

您可以将选择器用作

       $('div[id$="blog"]')
于 2012-06-26T05:25:50.027 回答
0

假设父 div 有id属性而其他div没有id(根据你的例子)。
您可以使用

$(".delete").click(function() {
    $(this).parents("div[id]").remove();
 }):

编辑:
使用.closest()代替.parents()会更好更有效。

$(".delete").click(function() {
    $(this).closest("div[id]").remove();
 }):

感谢nnnnnn

于 2012-06-26T05:31:13.227 回答
0

您的代码将是这样的:-

jQuery:-

$(document).ready(function(){
    $('a.delete').click(function(){
        $(this).closest('.parentPanel').remove();
    });

});

编辑:更改parentUntill()closest()通知的队友中的少数人,我同意parentUntill()在匹配的选择器下方选择选择器 1step。* 谢谢 nnnnnn

更改后的代码:- 我添加了一个名为parentPanel

if($i > $start_from){
            echo "<div id=\"blog$i\" class=\"parentPanel\"><h1 style=\"padding-top:30px; font-size:14px;\" id=\"shareContent\"><a target=\"_blank\" href=\"$url\">$title</a><br /></h1>
            $desc
            <br />
            <p><em>hahaquotes, DATED: $date, URL: <a target=\"_blank\" href=\"$url\">$url</a></em></p>
            <div class=\"applyLink\" style=\"width:720px; padding-right:12px; margin-top:20px;\">
            <p><a target=\"_blank\" href=\"$url\">READ</a><span style=\"float:right; cursor:pointer;\"><a class=\"delete\">DELETE</a></span></p>
            </div></div>";
            if($i == $start_from + 4) break; 
            }
            }
于 2012-06-26T05:36:07.137 回答