簡體   English   中英

如何刪除整個html元素以及JQuery按鈕單擊上的所有子元素?

[英]How to remove entire html element along with all children on JQuery button click?

這是我的難題:

當單擊我的JQuery對話框上的搜索按鈕時,請求將發送到我的servlet。 該servlet確定要返回的頁面。 結果JSP頁面或將用戶引導到帶有附加屬性/字符串的搜索表單JSP,我將在html頁面加載時彈出的JQuery對話框中顯示該屬性/字符串。 然后,當我進行有效搜索並將servlet引導用戶到結果頁面時,然后當我單擊瀏覽器上的“后退”按鈕時,將彈出notFound對話框! 我不希望這樣做,並嘗試刪除了實例化該對話框的表單元素。 請參閱下面的源。

這是我的元素和相應的javascript / jquery代碼:

<script>
    $(function() {
        $("#searchForm").dialog(
                {
                    height : 400,
                    width : 450,
                    resizable : false,
                    draggable : false,
                    open : function(event, ui) {
                        $(this).parent().children().children(
                                '.ui-dialog-titlebar-close').hide();
                    },
                    title : "Search",
                    closeOnEscape : false,
                    buttons : {
                        "Search" : function() {
                            if ($("#name").val().length >= 1) {
                                $("#searchForm").submit();
                            } else {
                                $("#error").dialog("open");
                            }
                        },
                        "Main Menu" : function() {
                            window.location.href = "/";
                        }
                    }
                });
        $("#error").dialog({
            autoOpen : false,
            resizable : false,
            draggable : false,
            title : "Error!",
            buttons : {
                "OK" : function() {
                    $(this).dialog("close");
                }
            }
        });
        ***$("#notFound").dialog({
            autoOpen : false,
            resizable : false,
            draggable : false,
            title : "Nothing Found!",
            buttons : {
                "OK" : function() {
                    $(this).dialog("close");
                    var div = document.getElementById('notFound');
                    if (div) {
                        div.parentNode.removeChild(div);
                    }
                }
            }
        });***
    });
</script>

<body>
    <%
        if (message != null) {
    %>
    <form id="notFound">
        <p><%=message%></p>
        <script>
            $(function() {
                $("#notFound").dialog("open");
            });
        </script>
    </form>
    <%
        }
    %>
....

為什么id為notFound的元素及其子元素不會從頁面的源和DOM中刪除? 我該如何移除

<form id="notFound">
            <p><%=message%></p>
            <script>
                $(function() {
                    $("#notFound").dialog("open");
                });
            </script>
        </form>

在#notFound對話框的OK:function()上? 提前致謝!

$("#notFound").hide(); $("#notFound").remove();

我認為一個簡單

$("#notFound").replaceWith("");

要么

 $("#notFound").remove();

會工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM