Я пытаюсь использовать подстановочный знак, чтобы получить идентификатор всех элементов, чей идентификатор начинается с "jander". Я пробовал $('#jander*')
, $('#jander%')
, но он не работает.
Я знаю, что могу использовать классы элементов для его решения, но также можно использовать подстановочные знаки??
<script type="text/javascript">
var prueba = [];
$('#jander').each(function () {
prueba.push($(this).attr('id'));
});
alert(prueba);
});
</script>
<div id="jander1"></div>
<div id="jander2"></div>
Чтобы получить все элементы, начинающиеся с "jander", вы должны использовать:
$("[id^=jander]")
Чтобы получить те, что заканчиваются на "jander"
$("[id$=jander]")
См. также Документация JQuery
$('input[name^="news"]').val('news here!')
Так как название предлагает шаблон, вы также можете использовать это:
$(document).ready(function(){
console.log($('[id*=ander]'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="jander1"></div>
<div id="jander2"></div>
Это приведет к выбору данной строки в любом месте id
.
Попробуйте запустить jQuery с помощью
'^ =', например
[id^="jander"]
Я должен спросить, почему бы вам не сделать это с помощью классов?
для классов, которые вы можете использовать:
div[class^="jander"]
Чтобы получить идентификатор из соответствия шаблону:
$('[id^=pick_]').click(
function(event) {
// Do something with the id # here:
alert('Picked: '+ event.target.id.slice(5));
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="pick_1">moo1</div>
<div id="pick_2">moo2</div>
<div id="pick_3">moo3</div>
Если у вас более сложная строка id, двойные кавычки являются обязательными.
Например, если у вас есть такой идентификатор: id="2.2"
, правильный способ доступа к нему: $('input[id="2.2"]')
Насколько это возможно, используйте двойные кавычки по соображениям безопасности.