检查数组中的数据属性

时间:2015-09-24 16:52:00

标签: javascript jquery

我在页面上有一个事件列表。我的最终目标是使用JQuery / Javascript隐藏购买按钮(通过向其添加类)(如果事件已经过去)。每个事件都有3个数据属性(月,日,年)。我尝试使用以下方法循环遍历数组:

   var matches = document.querySelectorAll(".event-event");
   var i = 0;
   for (i = 0; i <  matches.length; i++) {
       var event = matches[i].getElementsByClassName('date');
       var eventDate = event.getAttribute('data-date');
    }

但是它说“getAttribute”不是一个函数,我也尝试过“.attr”并且说同样的事情。

3 个答案:

答案 0 :(得分:2)

var matches = document.querySelectorAll(".event-event");
for (var i = 0; i < matches.length; i++) {
    var event = matches[i].getElementsByClassName('date');
    if (event.length > 0) {
        for (var j = 0; j < event.length; j++) {
            var eventDate = event[i].getAttribute('data-date');
        }
    }
}

答案 1 :(得分:1)

getElementsByClassName方法返回一个数组。

答案 2 :(得分:1)

试试这个:

var matches = document.querySelectorAll(".event-event");
for (var i = 0; i < matches.length; i++) {
    var events = matches[i].getElementsByClassName('date');
    for(var j = 0; j < events.length; j++) {
        var eventDate = events[j].getAttribute('data-date');
    }
}

events是一个必须迭代的数组。