2015-01-22 3 views
0

У меня есть две переменные x и y. Могу ли я выбрать элемент, имеющий idx, а также class из y с jQuery?jQuery: выбор элемента, имеющего определенный идентификатор и определенный класс, как переменные

+2

Да, конечно, вы можете: '$ ('#' + х + '.' + y) '. Где вы застряли? –

+2

, хотя все же кажется странным, почему вам нужно выбирать с классом AND id. Идентификатор может быть только один раз на странице, так почему нужно дважды проверять класс? – danielwinter

+0

@ daniel: мы часто используем имена классов, чтобы отражать/подразумевать определенное состояние элемента («selected», «active» и т. Д.); поэтому не случайно, что иногда требуется выбор элемента как «id», так и «class». –

ответ

0

Селектор:

$('#'+x+'.'+y) 

будет выбрать идентификатор х и класс у, но, как danielwinter сказал, что на самом деле не точка, если вы пытаетесь увидеть, если элемент с определенным идентификатором был назначен класс, в этом случае вам лучше использовать:

if($('#'+x).hasClass(y)){ 
    //whatever here 
} 

Кто приходит за вас поймет ваши намерения более чем:

if($('#'+x+'.'+y).length > 0){ 
    //whatever here 
} 
0

Вот пример HTML

<input type='button' id='myId' class='myClass' value='Hello World'> 

JS следующие 4 функции являются одинаковыми

$('input.myClass#myId').on('click', function(){ 
    // do the same action 
}); 
$('input#myId.myClass').on('click', function(){ 
     // do the same action 
}); 
$('.myClass#myId').on('click', function(){ 
     // do the same action 
}); 
$('#myId.myClass').on('click', function(){ 
     // do the same action 
}); 
Смежные вопросы