代码之家  ›  专栏  ›  技术社区  ›  feetwet

为什么是选择器。文本获取内部函数值?

  •  0
  • feetwet  · 技术社区  · 7 年前

    在一个 $.ajax success 函数我试图在再次调用之前运行延迟。我的文档有一个 <DIV ID="status"></DIV> 元素,所以这里的第一步很好:

    $("#status").text = "Refreshing";
    

    setInterval

    var count = 0;
    var waitingID = setInterval(waiting, 1000);
    function waiting() {
        if(count == 5) {
            clearInterval(waitingID);
            CallUpdate();
        }
        else {
            count++;
            var notice = $("#status");
            notice.text(notice.text + ".");
        }
    }
    

    其中的文本 DIV 变成

    函数(值){return access(this,function(value)){ jQuery。文本(本): 这空()。每个(函数(){ if(this.nodeType===1 | | this.nodeType===11 | | this.nodeType===9){ 这text内容=值; } }); }, null,值,参数。长度);}。

    怎么回事?为什么 notice.text(notice.text + "."); 简单地附加一个 . 到中的文本 部门

    2 回复  |  直到 7 年前
        1
  •  1
  •   Daerik    7 年前

    text() 功能不正确。

    $('#status').text('Refreshing');
    var count = 0;
    var waitingID = setInterval(waiting, 1000);
    function waiting() {
        if(count == 5) {
            clearInterval(waitingID);
            console.log('CallUpdate()');
        }
        else {
            count++;
            var notice = $("#status");
            notice.text(notice.text() + ".");
        }
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <p id="status"></p>
        2
  •  1
  •   adeneo    7 年前

    jQuery的 text() $("#status").text("Refreshing");

    var notice = $("#status");
    notice.text(function(_,txt) {
        return txt + "."
    });
    

    当你这么做的时候 notice.text(notice.text + ".");