Клонированные эл-ты не отвечают на onclick 
		
		
		
		При нажатии на кнопку она клонируется, почему в данном случае    клонированные кнопки не отвечают на onclick??? срабатывает только первая. 
	<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" > <style> input[value = "+"] { height: 20px; width: 20px; } </style> </head> <body> <div> <input type="button" id="add" value="+"> </div> </body> <script> var add = document.querySelectorAll("input[value = '+']"); add[add.length - 1].onclick = function() { var parent = this.parentNode; var clone = this.cloneNode(true); parent.appendChild(clone); add = document.querySelectorAll("input[value = '+']"); } </script> </html>  | 
	
		
 
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>ГГ</title>
<style>
* {
  margin:0;
  padding: 0;
  outline: none;
}
input[value = "+"] {
height: 20px;
width: 20px;
}
</style>
</head>
<body>
<div>
<input type="button" id="add" value="+" onclick="var parent = this.parentNode;var clone = this.cloneNode(true);parent.appendChild(clone);">
</div>
</body>
</html>
 | 
	
		
 BeardedFace, 
	
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" >
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    <style>
        input[value = "+"] {
            height: 20px;
            width: 20px;
        }
    </style>
</head>
<body>
<div>
    <input type="button" class="add" value="+">
</div>
</body>
<script>
    var add = document.querySelectorAll("input[value = '+']"); //   Возвращает non-live NodeList всех соответствующих узлов элемента
    add[add.length - 1].onclick = function() {
        var parent = this.parentNode;
        var clone = this.cloneNode(true);
        alert(clone.onclick);
        clone.onclick = this.onclick;
        alert(clone.onclick);
        parent.appendChild(clone);
        add = document.querySelectorAll("input[value = '+']");
    }
</script>
</html>
 | 
	
		
 Очень благодарен, а можно подробнее про non-live Nodelist, что конкретно это значит, динамически созданные эл-ты в эту коллекцию не попадают? 
	правильно понял?  | 
	
		
 BeardedFace, 
	у Вас всё нормально , Вы строкой в onclick : 
add = document.querySelectorAll("input[value = '+']")
 возвращаете новый набор, просто забыл удалить комментарий )) А вообще про это можно почитать здесь http://learn.javascript.ru/searching-elements-internals | 
	
		
 А почему без clone.onclick = this.onclick  событие не передается следующему эл-ту? ведь эл-т создан, добавлен в add[], почему не работает add[add.length - 1].onclick ? 
	 | 
	
		
 BeardedFace,  
	в документации сказано : Cloning a node copies all of its attributes and their values, including intrinsic (in–line) listeners. It does not copy event listeners added using addEventListener() or those assigned to element properties. (e.g. node.onclick = fn) :)  | 
	
		
 Всё стало ясно, огромное благодарю!)) 
	 | 
| Часовой пояс GMT +3, время: 08:06. |