2016-07-14 2 views
0

Например, если я следующее:JQuery селектор родственный с несколькими типами

var siblingIcon = $(elem).siblings('i'); 

, который смотрит на элемент и выбирает все <i> элементы на том же уровне. Как я могу добавить к тому, что если siblingIcon не содержит ничего (потому что не было найдено никаких <i> элементов, чтобы искать довольно <span> элементов?

так ..

var siblingIcon = $(elem).siblings('i') || $(elem).siblings('span'); 

ответ

3

Вы можете использовать multiple selector там,

var siblingIcon = $(elem).siblings('i,span'); 

Приведенный выше код будет выглядеть как для i и span элементов в уровне братьев и сестер из elem.

+0

Не будет ли это возвращение 'span' независимо от того, есть ли какие-либо' i' элементы, присутствующие или нет ? – gurvinder372

+0

Да, будет. Но OP ничего не упоминал о таких критериях, как '' '' '' '' 'и' '' '' '' '' 'присутствуют как братья и сестры. Надеюсь, это то, что он ищет. Если нет, он будет комментировать или отредактировать свой вопрос. –

0

Предполагая, что целью является то, что span следует выбирать только в том случае, если нет элемента i.

Вы можете проверить размер объекта, возвращенного Jquery

var siblingIcon = $(elem).siblings('i').size() ? $(elem).siblings('i') : $(elem).siblings('span'); 

или непосредственно length

var siblingIcon = $(elem).siblings('i').length ? $(elem).siblings('i') : $(elem).siblings('span'); 
Смежные вопросы