Всем привет. В jq я не силен, скажу сразу :)
Имеется Jq код который получает данные как я понимаю с блока:
var nextD = $('.check-item[data-id="' + currentID + '"]').next().data().id;
Имеется этот же блок:
<div data-id="'.$list[3].'" class="check-item">'.$Name1.' - '.$Name2.'</div>
Если оставить так, все работает, данные получаются, но если я хочу перед блоком добавить еще один блок:
<div clas="ddd">'.$j.'</div>
<div data-id="'.$list[3].'" class="check-item">'.$Name1.' - '.$Name2.'</div>
То получаю ошибку Uncaught TypeError: Cannot read property 'id' of undefined
которая ссылается на кусок кода который я привел в начале. Почему так происходит?
Судя по всему у тебя генерируется много однотипных элементов
<div data-id="'.$list[3].'" class="check-item">'.$Name1.' - '.$Name2.'</div>
а
метод next()
берет следующий за выбранным селектором $('.check-item[data-id="' + currentID + '"]')
элемент далее по DOMу. И как раз таки тот что ты добавил между элементами .check-item
не имеет data-id собственно поэтому и undefined. Если ты добавишь этому элементу data-id то ошибки не возникнет. Если data-id тебе ставить не нужно для этого элемента, то укажи в next() какой именно элемент тебе нужен:
$('.check-item[data-id=' + currentID + ']').nextAll("div[data-id].check-item:first").attr('data-id');
$(document).ready(function() {
var currentID = 4;
var nextD = $('.check-item[data-id=' + currentID + ']').nextAll("div[data-id].check-item:first").attr('data-id');
alert(nextD);
})
.check-item {
margin: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-id="1" class="check-item">some name</div>
<div data-id="4" class="check-item">some name</div>
<div class="check-item">o</div>
<div data-id="ds">some without class</div>
<div data-id="8" class="check-item">some name</div>
<div data-id="2" class="check-item">some name</div>
<div data-id="5" class="check-item">some name</div>
<div data-id="9" class="check-item">some name</div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте(Гугл облазила, но ничего дельного не нашла)
Как записать такое условие в Javascript ? Если 10 больше 5 , но меньше 20 , то
Есть страница в коопсети, в которой выполняется следующий код: