как получить идентификатор братьев и сестер в массиве?

0

Изображение 174551 Привет, пожалуйста, скажите мне, как получить весь идентификатор в ряду братьев и сестер. Я получил длину брата. Теперь как получить идентификатор этого в массиве. ,

На рис., Если у пользователя 3 ребенка. Если щелчок "Первый уровень" показывает "3", если пользователь нажимает menu_tc_1 он показывает 0.. или то же самое в menu_tc_2, menu_tc_3. как получить идентификаторы родного брата в массиве. Я стараюсь, но не получаю id

$(document).on('click'," ul li > a",function(e){
     //alert($(this).siblings().length);

    //first method..
    console.log($(this).siblings().length);
     /*var id=$(this).parent().attr("id") || $(this).parents("ul").attr("id");
    console.log(id);*/

     var selEl = [];
   $(this).siblings().each(function (idx, el) {
       selEl.push('#' + el.id);
   });
    console.log(selEl)

   // alert(id);
  //  getViewFromPanel();
})
Теги:

3 ответа

1
Лучший ответ

Попробуй это,

var arr=$(this).siblings().map(function () {
    return '#' + this.id;
}).get();
console.log(arr);

Демо-версия

Обновлено в соответствии с вашим сценарием нет siblings of a попробовать это,

var selEl = [];
$(this).closest('ul').find('li').each(function (idx, el) {
// -----^ using closest and find, as there are no siblings of a
 selEl.push('#' + el.id);
});
console.log(selEl);

Обновленная демоверсия

Также, если вы хотите использовать siblings используйте событие click на li, а не на теге привязки, например,

$(document).on('click', " ul li", function (e) {
    // use click event on li not on anchor tag

    //alert($(this).siblings().length);

    ......
    var selEl = [];
    $(this).siblings().each(function (idx, el) {
        selEl.push('#' + el.id);
    });
    console.log(selEl);
    .....
});

Ли братская демонстрация

  • 0
    правильный ответ .
4

Использовать .attr()

   var id=0;
   $(this).siblings().each(function (idx, el) {
       id=el.attr('id');
       selEl.push('#' + id);
   });
  • 0
    jsfiddle.net/PZR7N/14 не работает
  • 0
    нажмите кнопку добавления и откройте левую панель и нажмите кнопку + мне нужно на этот клик
Показать ещё 4 комментария
1

Используйте .map() и свойство id

var selEl = $(this).parent().siblings().map(function (idx, el) {
    return this.id
}).get();

Демо: скрипка

  • 0
    jsfiddle.net/PZR7N/14 ни с чем не работает
  • 0
    @ user3530755 HTML в вашей скрипке не завершен
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню