Показать сообщение отдельно
  #1 (permalink)  
Старый 25.01.2013, 04:18
Новичок на форуме
Отправить личное сообщение для 1975andrei Посмотреть профиль Найти все сообщения от 1975andrei
 
Регистрация: 24.01.2013
Сообщений: 7

Как запомнить потомка, пототомов у родительского элемента?
Нужно запомнить нажатие на ссылку. Вот с потомками ul- я разобрался. А как запомнить потомков у li ? те. ссылку, и покрасить её в красный цвет. при клике, а при клике на другую ссылку, красит другую, а эту возвращать? Объясню по другому: Смотрите на примере. Так как красятся элементы li (без ссылок) при нажатии и снимаются, так хотелось бы чтобы красились элементы a и снимались. Заранее благодарю.
<script type="text/javascript">


	function createSomeElements(start){
	var interLI = prompt("Введите текст элемента списка","");
	//var atr = prompt("Введите атрибут для ссылки","http://www.nn.by");
	if(interLI){
		var ul = document.getElementById("list");		
		var li = document.createElement("LI"); 			
		var a = document.createElement("A"); 			
		li.onclick = onLIClick;	
			if(start)						
				ul.insertBefore(li, ul.firstChild); 
			else
				ul.appendChild(li);				
		li.insertBefore(a,li.firstChild);					
		a.setAttribute('href',"#");
		var t = document.createTextNode(interLI); 			
		li.appendChild(t);						
	}
	}
	
	

function removeFromList(start)
{
	var ul = document.getElementById('list'); 			
	
	var last = (start) ? ul.firstChild : ul.lastChild;			
	while (last && last.nodeType !=1) 			
		last = (start) ? last.nextSibling : last.previousSibling; 	
	
	if(last){										
		if (confirm("Удалить пункт "+(last.firstChild.nodeValue || last.firstChild.text)+"?")) { 
			last.parentNode.removeChild(last)		
													
				}
}
}

function onLIClick(){
if(this.parentNode.selectedItem)
	this.parentNode.selectedItem.style.color="";
this.style.color ="red";
this.parentNode.selectedItem = this;
}

window.onload = function(){
	var ul = document.getElementById("list")			
	var lis = ul.getElementsByTagName("*")			
		for(var i=0; i < lis.length; i++)			
			lis[i].onclick = onLIClick;	

}

</script>



<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
<title>Главная | заготовка</title>

</head>

<body>
    <div id="wrap">
        <div id="header">
	        <h1>javaScript <span>для начинающих</span></h1>
	        <h3>демонстрационный сайт</h3>
        </div>
		
	</div>
<br/>
<h1>Создание элементов</h1>
	<div id="ss">
		<a href="javascript:createSomeElements(true)">Создать элемент li в начало</a>
		<br/>
		<a href="javascript:createSomeElements(false)">Создать элемент li в конце</a>
		<br/>
			<a href="javascript:removeFromList(true)">Удалить первый элемент </a>
		<br/>
			<a href="javascript:removeFromList(false)">Удалить последний элемент </a>
		
	</div>
<ul id="list">
<li><a href="#">Кино</a></li>
<li><a href="#">Опера</a></li>
<li>Кино</li>
<li>Опера</li>
</ul>     
		        

</body>
Ответить с цитированием