为什么jquery选择器不适用于新替换的标签?

hui*_*can 3 html javascript jquery jquery-selectors

为什么jquery选择器不适用于新替换的标签.

我有一个简单的脚本,当用户点击时submitResult button,服务器端返回一个id ="content"的新div,我使用jquery replaceWith()替换旧的.

我注意到在id="content"替换元素之后,下次单击submitResult时,它不会将数据发送到服务器端.仅供参考,此submitResult id位于新替换的元素内.

任何人都可以告诉我如何刷新替换html标签,从而$("#submitResult").click(xxx)再次让工作?

谢谢

<html>
<head>
<script src="js/jquery/jquery-1.7.2.min.js"></script>
<script>
    function handleData(data, status) {
        $("#content").replaceWith(data);
    };

    $(document).ready(function() {
        $("#submitResult").click(function() {
            var $result = $("#result").val();
            $.get("e?result=" + $result, handleData);
        });
    });
</script>
</head>

<body>
        <div id="content">
            <div class="resultbox">
                    <input id="result" type="text" value=""></input>
                    <input id="submitResult" type="button" value="Submit"></input>
            </div>
        </div>

        <!-- other content -->

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

pet*_*erm 8

更改

$("#submitResult").click(function() {
Run Code Online (Sandbox Code Playgroud)

$(document).on("click", "#submitResult", function() {
Run Code Online (Sandbox Code Playgroud)

  • 最好的委托父母将使用`#content`而不是`document`. (3认同)