как посчитать какой по счету блок с одинаковым классом
как посчитать какой по счету блок среди блоков одинаковым классом на который нажали?
<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, время: 15:52. |