Подтвердить что ты не робот

JQuery соответствует только части id из div

Вчера я столкнулся с необычной ситуацией.

Мне нужно совместить только часть id. Позвольте мне рассказать вам все с примером

У меня есть несколько div, например

<div id="sales_info_1">... ...... ...... ...... ...</div>
<div id="sales_info_2">... ...... ...... ...... ...</div>
<div id="sales_info_3">... ...... ...... ...... ...</div>

а jQuery -

jQuery("div#dont_know_what_to_write_here").bind("click", function(){
    ... ...... ...... ...... ...
});

Мне нужно сопоставить только sales_info, игнорируя _1, _2 или _anything, может ли кто-нибудь предложить мне, как это сделать?

Спасибо

4b9b3361

Ответ 1

Вы можете использовать "Начать с" селектор:

$('div[id^="sales_info_"]')

Я бы предпочел, чтобы вы использовали уникальное имя класса для своих элементов, которые вы можете выбрать, хотя.

Ответ 2

В качестве альтернативы добавьте class="sales_info" в свою HTML-надпись.

Затем сделайте следующее:

$(".sales_info").bind("click", function() {
   ...
}

Ответ 3

Попробуйте с этим

$("div[id^='sales_info_']").bind( ... );

Ответ 5

Вы можете использовать селектор css

попробуйте этот код

HTML

<div id="sales_info_1"></div>
<div id="user_info_1"></div>
<div id="sales_info_2"></div>
<div id="user_info_2"></div>
<div id="sales_info_3"></div>
<div id="user_info_3"></div>

CSS

.red{
    display:block; 
    float:left; 
    width:50px; 
    height:20px; 
    background-color:#FF0000;}
.blue{
    display:block; 
    float:left; 
    width:50px; 
    height:20px; 
    background-color:#0000FF;}

JQuery

$('div[id^="sales"]').addClass('red');
$('div[id^="user"]').addClass('blue');

css selector ^= будет выбирать div с идентификатором, который начинается с указанного значения и добавляет стиль css.

Ответ 6

Я действительно нуждался в эффекте end-with и нашел его здесь. Его легко использовать следующим образом:

<script>
$( "input[name$='letter']" ).val( "a letter" );
</script>

Вы просто замените ^ на $ в селекторе.