Как выбирать в Jquery елементы с изменяющим id?

lutskboy
На сайте с 22.11.2013
Offline
171
385

Вот допустим у меня на странице есть такой код


<div id="id1"></div>
<div id="id2"></div>
<div id="id2"></div>

Я хочу по клику блока с id=id1 показать определенный контент. Делаю так

$("#id1").click(function(){

...................................

}

Потом мне нужно по клику блока с id=id2 тоже показать определенный контент.

и т. д

Так вот вопрос вот в чем. Если таких блоков на странице полно, то я же не буду прописывать для каждого

$("#id2").click(function(){

...................................

}

$("#id3").click(function(){

...................................

}

Нужно как то обьединить в одно. Как?

ДП
На сайте с 23.11.2009
Offline
203
#1

Можно выбирать элемент по классу.

Внутри обработчика ссылка на текущий dom-элемент доступна в переменной this - это для того, чтобы вы могли определить на какой элемент кликнули и показать нужный блок.

дани мапов
На сайте с 06.09.2012
Offline
204
#2

Можно и так

$('div[id^="id"]').click(function(){

...................................

}

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
lutskboy
На сайте с 22.11.2013
Offline
171
#3

Дикий пионер, можно более подробно?

дани мапов, спасибо, работает. Но теперь проблема. Как мне узнать, что я именно кликнул по id2 скажем , а не по id8?

Так как мне в зависимости от етой циферки нужно показать соответствующий ей контент.

---------- Добавлено 02.10.2014 в 17:18 ----------

Сделал типа так

var ee = $(this).attr("id");

console.log(ee);

выводит как раз то что нужно.

Дикий пионер, ваш вариант тоже рассмотрю.

DiAksID
На сайте с 02.08.2008
Offline
218
#4
lutskboy:
...
Сделал типа так
var ee = $(this).attr("id");
console.log(ee);
выводит как раз то что нужно.

не надо "левой пяткой чесать правое ухо": просто this.id работает везде...

show must go on !!!...
Glueon
На сайте с 26.07.2013
Offline
172
#5
lutskboy:
<div id="id1"></div>
<div id="id2"></div>
<div id="id2"></div>

Как висали выше можно использовать классы.

 <div class='myClass' id="id1"></div>
<div class='myClass' id="id2"></div>
<div class='myClass' id="id2"></div>
...
$('.myClass').click( function() {
if( this.id == 'id2' )
alert('ID2');
});

Если по какой-то причине хочется вытащить именно число, тогда:

this.id.substring(2)
Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий