Определение номера тега. 
		
		
		
		На странице есть текст, разбитый на какие то теги, например "P". 
	По клику на странице нужно определить номер тега, на котором был сделан последний клик. Сейчас я эту задачу решаю так: <body onClick="f_nomer()"> <p onClick="i=0">Это тег номер 0</p> <p onClick="i=1">Это тег номер 1</p> <p onClick="i=2">Это тег номер 2</p> <p onClick="i=3">Это тег номер 3</p> <p onClick="i=4">Это тег номер 4</p> <script> i=0 function f_nomer(){ alert(i) }</script> Или так: <p onClick="f_nomer(this)" id="0">Это тег номер 0</p> <p onClick="f_nomer(this)" id="1">Это тег номер 1</p> <p onClick="f_nomer(this)" id="2">Это тег номер 2</p> <p onClick="f_nomer(this)" id="3">Это тег номер 3</p> <p onClick="f_nomer(this)" id="4">Это тег номер 4</p> <script> function f_nomer(x){ x=x.getAttribute("id") alert(x) }</script> Но в любом случае приходится нумеровать теги. Можно ли их не нумеровать, то есть получить решение этой задачи в каком то таком виде: <p onClick="f_nomer(this)">Это тег номер 0</p> <p onClick="f_nomer(this)">Это тег номер 1</p> <p onClick="f_nomer(this)">Это тег номер 2</p> <p onClick="f_nomer(this)">Это тег номер 3</p> <p onClick="f_nomer(this)">Это тег номер 4</p> <script> function f_nomer(x){ x= . . . alert(x) }</script> Может, в место тега "P" использовать теги с зарезервированным массивом номеров, (например тег "A"). Или от нумерации никуда не уйти?  | 
	
		
 Цитата: 
	
 
<!DOCTYPE html>
<html>
<head>
<style>
</style>
<script>
function Go(event) {
	var o=event||window.event
	o=o.target||o.srcElement
	var i=0
	var op=document.getElementsByTagName('p')
	while (op[i]) {
		if (op[i]==o) {
			alert('Клацнули на элементе № '+i)
			break
		}
		i++
	}
	
}
</script>
</head>
<body>
<body onclick="Go(event)">
<p>Это тег номер 0</p>
<p>Это тег номер 1</p>
<p>Это тег номер 2</p>
<p>Это тег номер 3</p>
<p>Это тег номер 4</p>
</body>
</html>
 | 
	
		
 можно не нумеровать 
	смотри. там всё медленно перекладывается, по переменным. что они содержат и для чего, говорят их имена. 
<style>p {background-color:red;margin: 10px;}</style>
<p>Это тег номер 0</p>
<p>Это тег номер 1</p>
<p>Это тег номер 2</p>
<p>Это тег номер 3</p>
<p>Это тег номер 4</p>
<script>
document.onclick =  function(e){
         // на какой элемент клацнули
         var target = e ? e.target : event.srcElement;
         // дети родителя элемента, на который клацнули.
         var parentChildNodes = target.parentNode.children;
         // позиция элемента в списке детей
         var index = Array.prototype.indexOf.call( parentChildNodes, target );
         alert( index );
}
</script>
мм.. ksa, красиво :) 
...
while (op[i]) {
....
 | 
	
		
 melky, это не моё... :D У тутошних ребят подсмотрел... 
	 | 
	
		
 Решение мне нужно было для эксплорера. 
	Вариант от ksa работает и в эксплорере и в опере. Вариант от melky работает только в опере. В эксплорере пишет "Array.prototype.indexOf" есть ноль или не является объектом. Наверное у меня такая конструкция в эксплорер не была ещё установлена, эксплорер версии 6.0 (люблю эту версию). Большое спасибо за помощь!  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 конечно, мой код не совместим с ним. только,если костыли в руки дать  | 
| Часовой пояс GMT +3, время: 13:42. |