#jquery #html #css
#jquery #HTML #css
Вопрос:
Я пытаюсь найти следующий элемент идентификатора, не могли бы вы предложить найти следующий элемент идентификатора.
У меня есть html-код:
<div class="togg_child" style="font-size: 17px; margin: 5px;">
<a id="cats_1" class="test" href="javascript:">Diamond</a>
<div id="subctg_1" class="test1"></div>
</div>
Я использую эту функцию Jquery:
$(document).ready(function () {
$('.test').click( function(){
var tid = $(this).attr('id');
alert(tid);
$("#" tid).parent().next('div').attr('id');
alert(id1);die;
});
});
Ответ №1:
Просто удалите parent():
$("#" tid).next('div').attr('id');
Или просто сделайте это:
$(this).next('div').attr('id');
Это приведет к получению идентификатора subktg_1.
И не используйте die, он доступен в php, а не в js.
Ответ №2:
Попробуйте использовать $(this)
ссылку внутри обработчика щелчков для нацеливания на привязку щелчка вместо создания нового селектора идентификаторов, создание нового селектора идентификаторов текущего элемента кажется ненужным.
$('.test').click( function(e){
e.preventDefault();
alert($(this).next('div').attr('id'));
});
.parent()
выбрал бы родительский элемент элемента, но здесь наше требование состоит в том, чтобы выбрать сразу следующего родственного, поэтому просто вызывайте .next('div')
текущий элемент
ДЕМОНСТРАЦИЯ
Ответ №3:
Используйте $(this)
для текущего элемента и удалите parent() в вашем сценарии
$(this).next('div').attr('id');
Ответ №4:
Заменить
$("#" tid).parent().next('div').attr('id');
with
$("#" tid).next().attr('id');
Ответ №5:
Попробуйте так
$(document).ready(function () {
$('.test').click( function(){
alert($(this).siblings().attr("id"));
});
});
в siblings вы можете передать любой селектор. Пример, .siblings("div")