Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   При клике определить номер (выбранного) элемента. (https://javascript.ru/forum/misc/53836-pri-klike-opredelit-nomer-vybrannogo-ehlementa.html)

Velidan 20.02.2015 15:53

При клике определить номер (выбранного) элемента.
 
Доброго дня уважаемые коллеги. Очень нужна ваша помощь.
У меня есть список и 3 лишки в нем. Хочу сделать такое: при клике на одном из них - чтобы я мог получить номер этого элемента.
Как мне можно сделать такое?

Знаю, что индекс можно определить так:
var parent = document.getElementsByClassName("tabs_calendar")[0];
    parent.onclick = function (e) {
        var e = e || event;
        var target = e.target || e.srcElement;
        for(var i = 0; i < parent.children.length; i++) {
            if(parent.children[i] == target) return console.log(i);
        }
    }


Но как мне вернуть именно номер того элемента на котором мы клацнули? (клацать буду не по родителю, а по сами блоках)
Заранее спасибо за помощь.

ksa 24.02.2015 10:13

Цитата:

Сообщение от Velidan
как мне вернуть именно номер того элемента на котором мы клацнули?

Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
window.onload=function(){
	var parent = document.getElementsByClassName("tabs_calendar")[0];
	parent.onclick = function (e) {
		var e = e || event;
		var target = e.target || e.srcElement;
		for (var i = 0; i < parent.children.length; i++) {
			if(parent.children[i] == target) {
				alert('Это элемент номер - '+i);
				break;
			};
		};
	};
};
</script>
</head>
<body> 
<ul class='tabs_calendar'>
	<li>Item 0</li>
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
</ul>
</body>
</html>


Часовой пояс GMT +3, время: 16:10.