text()与.parent()。html()的JQuery行为,用于后续更改

时间:2016-02-12 05:28:21

标签: javascript jquery html

我的代码中有一个场景,我每次点击按钮时都会使用element.text(data)更新div。

我已经更新了这个,因为我需要现在将html传递给div而不是文本。因此,调用现在是element.parent()。html(data)。

第一次单击按钮时,它可以正常工作,但似乎只有一次,只允许我立即更新它的非预期副作用。我把它改回了.text()只是为了确定,而且我确实能够用不同的内容多次点击我的按钮,并在那里获取该内容。唯一的内容只是赢得了通过该父()。html()的任何更新。有人能解释一下这里发生了什么吗?

这里的代码每次都有效:

        $(document).ready(function(){
            $("#count").click(function(e){
                e.preventDefault();

                //[... gets some parameters in here ...]

                $.post("myfile.php", {argument = list, goes = here}, function(data){
                    $("#subcount").text("Submission Count: " + data);
                });

            })
        })

这里的代码只会触发一次:

        $(document).ready(function(){
            $("#count").click(function(e){
                e.preventDefault();

                //[... gets some parameters in here ...]

                $.post("myfile.php", {argument = list, goes = here}, function(data){
                    $("#subcount").parent().html(data);
                });

            })
        })

谢谢!

1 个答案:

答案 0 :(得分:1)

除非data包含标识为subcount的元素,否则在更改父HTML后,目标将不再存在。

尝试将数据字符串包装在:

<div id = "subcount">....</div>

然后您将有下一个按钮单击的目标。