Сообщение от DimonCry
|
не сразу в body), а в другом родительском диве
|
что за бред, излагайте свои мысли конкретней!
Обход дочерних элементов:
<script type="text/javascript">
window.onload = function(){
var element = document.getElementById('div'), children = element.childNodes, i = children.length;
if(element.hasChildNodes()){
while(i--){
children[i].onclick = (function(i){
return function(){
children[i].nodeType == 1 && alert(this.tagName + ':' + i);
return false;
};
}(i));
}
}
};
</script>
<div id="div">
<a href="#">click1</a>
<a href="#">click2</a>
</div>
Более упрощенный вариант:
<script type="text/javascript">
window.onload = function(){
var children = document.getElementById('div').childNodes, i = children.length;
while(i--){
children[i].onclick = (function(i){
return function(){
this.nodeType == 1 && alert(this.tagName + ':' + i);
return false;
};
}(i));
}
};
</script>
<div id="div">
<a href="#">click1</a>
<a href="#">click2</a>
</div>
Обход определенных дочерних элементов (упорядоченный nodeList):
<script type="text/javascript">
window.onload = function(){
var children = document.getElementById('div').getElementsByTagName('a'), i = children.length;
while(i--){
children[i].onclick = (function(i){
return function(){
alert(this.tagName + ':' + i);
return false;
};
}(i));
}
};
</script>
<div id="div">
<a href="#">click1</a>
<a href="#">click2</a>
</div>
Более упрощенный вариант обхода определенных дочерних элементов без возвращение индекса:
<script type="text/javascript">
window.onload = function(){
var children = document.getElementById('div').getElementsByTagName('a'), i = children.length;
while(i--){
children[i].onclick = function(){
this.style.color = this.style.color != 'red' ? 'red' : '';
return false;
};
}
};
</script>
<div id="div">
<a href="#">click1</a>
<a href="#">click2</a>
</div>
Или же выбрать элемент на котором произошло событие:
<script type="text/javascript">
window.onload = function(){
var children = document.getElementById('div').getElementsByTagName('a'), i = children.length;
while(i--){
children[i].onclick = function(event){
var event = event || event.window, element = (event.target) ? event.target : event.srcElement;
element.style.color = element.style.color != 'red' ? 'red' : '';
return false;
};
}
};
</script>
<div id="div">
<a href="#">click1</a>
<a href="#">click2</a>
</div>