как получить идентификатор соседнего элемента - PullRequest
0 голосов
/ 11 августа 2011

Допустим, у меня есть обработчик, который использует для размещения между двумя элементами ИЛИ просто заполнить пространство между двумя элементами. Поэтому мой вопрос заключается в том, как получить идентификатор элемента или класс, который просто примыкает к обеим сторонам обработчика.

например:.

 #horizontal_handler { width:100%; height:5px; background:url('../pick.png')  }
 #vertical_handler { width:5px; height:100%; background:url('../pick.png')  }

Здесь у меня есть два обработчика, и я просто помещаю между двумя элементами div, и вот как я могу получить id этих обоих элементов div.

<div id="top"></div>
<div id="horizontal_handler"></div>
<div id="bottom"> </div>

ожидаемый результат должен быть: сверху, снизу

<div id="left"></div>
<div id="vertical_handler"></div>
<div id="right"> </div>

ожидаемый результат должен быть: слева, справа

Ответы [ 2 ]

0 голосов
/ 11 августа 2011

Вы можете обратиться к записи .index () на странице API jquery: http://api.jquery.com/index/

Решение будет:

var i = $('#vertical_handler').index();
$('div').get(i - 1).attr('id');
$('div').get(i + 1).attr('id');
0 голосов
/ 11 августа 2011
$('#vartical_handler').prev().attr('id');
$('#vartical_handler').next().attr('id');

ВОЗВРАЩАЕТСЯ Функция:

function adjacentElementId(ref) {
    var arr = new Array;
    arr.push({
        'prevId': $(ref).prev().attr('id'),
        'nextId': $(ref).next().attr('id')
    });
    return arr;
}
var arrId = adjacentElementId('#vertical_handler').pop(); // Here you have just send the jquery reference. e.g. `'#vertical_handler'` here
console.log(arrId.prevId);
console.log(arrId.nextId);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...