как посчитать какой по счету блок с одинаковым классом
как посчитать какой по счету блок среди блоков одинаковым классом на который нажали?
<div id="preview_main_block"> <div class="preview" id="slider_slide1"></div> <div class="preview" id="slider_slide2"></div> <div class="preview" id="slider_slide3"></div> </div> |
imedia,
взять все блоки с данным классом и перебрать пока не встретится нужный |
:-?
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> </head> <body> <div id="preview_main_block"> <div class="preview" id="slider_slide1">1</div> <div class="preview" id="slider_slide2">2</div> <div class="preview" id="slider_slide3">3</div> </div> <script> var elems = document.querySelectorAll(".preview"); Array.prototype.forEach.call(elems, function(val, i) { val.onclick = function () { alert(i+1); } } ); </script> </body> </html> |
а на jquery усть метод какой нибудь? и что такое index()?
|
Цитата:
http://javascript.ru/forum/dom-windo...tml#post312903 |
В данном случае вешать обработчик на каждый элемент это неправильный подход.
Нужно вешать единственный обработчик на родителя и смотреть на какого ребенка с нужным классом пришелся клик. $(function () { var $parent = $('#preview_main_block'); $parent.on('click', '.preview', function () { alert($parent.find('.preview').index($(this))); }); }); http://jsfiddle.net/m7U4a/ |
В данном случае - взять из id.:)
|
|
Цитата:
|
Часовой пояс GMT +3, время: 18:32. |