Я получаю TypeError: 'undefined' is not a function (evaluating 'document.getElementByClassName("selceted")')
при попытке получить имя класса или идентификатор div. и я не могу понять, почему. Массив/ноделист НЕ пуст, он имеет ВСЕ данные из каждого сообщения timeline-item
, и только 1 имеет класс selected
, так как я могу получить только этот элемент?document.getElementByClassName возвращает undefined
Вот мой код до сих пор:
if($.inArray(postdate, post_image_dates)){
var posts = $(".timeline-item");
posts.removeClass("selected");
var matchedPost = posts.filter("[data-date='" + postdate + "']");
if(matchedPost.length > 0){
matchedPost.addClass("selected");
var more_post_content = document.createElement('div');
more_post_content.id = 'more_post_content';
var ul = document.createElement('ul');
var li = document.createElement('li');
li.innerHTML = '<a href="#"><img src="' + postdata + '"/></a>';
ul.appendChild(li);
more_post_content.appendChild(ul);
var elementArray;
elementArray = [].slice.call(matchedPost, 0);
console.log(elementArray);
if($.inArray('selected', elementArray)){
var select = document.getElementByClassName("selceted");
}
}
Там нет функции 'getElementByClassName'. Это getElement ** s **. И, как говорится в названии, он не возвращает ни одного элемента. – Jon
Обратите внимание, что 'if ($. InArray ('selected', elementArray))' должно быть 'if ($. InArray ('selected', elementArray)> -1)'. Ваше состояние терпит неудачу, если элемент elementArray является первым. – undefined