簡體   English   中英

如何在jQuery .each()函數中使變量可訪問?

[英]How to make variable accessible within jQuery .each() function?

這是一個經常陷入困境的例子:如何在這個.each()中使markup可訪問?

我更感興趣的是學習如何從閉包內訪問外部變量,而不是在這個特定的問題中。 我可以通過從每個函數內部分配markup來解決這個問題,但我寧願學習一種更優雅的方法來處理這類問題。

// hide form & display markup
function assessmentResults(){

  // get assessment responses
  var markup = parseForm();

  // show assessment results to user
  $('#cps-assess-form fieldset').each( function() {
    var q = $(this).find('.fieldset-wrapper');
    var i = 0;

    // hide form questions
    q.slideUp();

    // insert markup
    $('<div>'+markup[i]+'</div>').insertAfter(q);
    i++;
  });

}

閱讀文檔 ,它已經有一個索引!

.each( function(index, Element) )

不需要i

$('#cps-assess-form fieldset').each( function(index) {
    var q = $(this).find('.fieldset-wrapper').slideUp();
    $('<div/>').html(markup[index]).insertAfter(q);
});

您失敗的原因是i在函數內部,因此每次迭代都會重置。 您需要將其移出函數以使其工作。

暫無
暫無

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

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