-1

此代码是否有效/正确

var items = $(".items");    // when would items be properly populated, at dom.ready()??
var itemsHrefs = []; // direct JS code

prepareItemsList();  **// direct JS code**

**// could be the case that items array is not populated yet ???**
function prepareItemsList() {
  for ( var i = 0; i < items.length; i++ ) {
    var plElement = items.eq(i);
    itemsHrefs.push (plElement.attr('href'));
  }
}

问题:

  1. 什么时候可以正确创建 items 变量。我假设 dom.ready()??
  2. 我应该在 document.ready 处理程序中执行 prepareItemsList() 是正确的吗?

注意:当我尝试执行上述 2. 时,我遇到了不同的问题

4

1 回答 1

0

您需要将与 DOM 一起使用的代码放在$(document).ready()回调中。如果您在 DOM 准备好之前尝试使用它,您的代码将无法正常工作(或根本无法工作)。

在回调中只保留一部分代码有时会让人感到困惑,所以我通常只是将所有与 jQuery 相关的内容都包含在其中:

$(document).ready(function() {
    var items_hrefs = $('.items').map(function() {
        return this.href;
    }).get();
});
于 2013-02-11T22:27:49.003 回答