Не удается найти следующий идентификатор атрибута div

#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")