Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.12.2013, 18:25
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Помогите разобрать код
Здравствуйте.
Помогите разобрать код скрипта
var d = document; 
window.onload = function () { 
	d.getElementById("data").onclick = function(e) {
		var target = e && e.target || event.srcElement; 
		if (target.type == "button" && target.value == "Заказать") { 
			var value = target.previousSibling.value; 
			//alert(target.parentNode.previousSibling.previousSibling.childNodes[0].childNodes[0].nodeValue);
			var ua = navigator.userAgent;
			var elm = ua.search(/MSIE/) > -1 ? target.parentNode.previousSibling.childNodes[0].nodeValue : target.parentNode.previousSibling.previousSibling.childNodes[0].childNodes[0].nodeValue;
			var div = d.createElement("div");
			var span = d.createElement("span");
			span.setAttribute("style", "color: red");
			span.appendChild(d.createTextNode(value));
			div.appendChild(d.createTextNode(elm+": "+value));
			//div.appendChild(span);
			var input = d.createElement("input");
			input.setAttribute("type", "button");
			input.setAttribute("value", "Отменить");
			input.onclick = function () { d.getElementById("zayavka").removeChild(this.parentNode); };
			div.appendChild(input);
			d.getElementById("zayavka").appendChild(div);
		}
	}
}
Ответить с цитированием
  #2 (permalink)  
Старый 08.12.2013, 19:02
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Собственно, не понятен код в последних 2 строках
div.appendChild(input);
d.getElementById("zayavka").appendChild(div);
Ответить с цитированием
  #3 (permalink)  
Старый 08.12.2013, 20:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от Batyabest
Собственно, не понятен код в последних 2 строках
Что не понятно в методе appendChild()?
http://www.fpublisher.ru/documentati...s#happendchild
Ответить с цитированием
  #4 (permalink)  
Старый 08.12.2013, 20:38
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Batyabest Посмотреть сообщение
Собственно, не понятен код в последних 2 строках
div.appendChild(input);
d.getElementById("zayavka").appendChild(div);
создаются элементы, в последних строках метод appndChild() добавляет новый элемент к детям существующего элемента...Изменение страницы методами DOM
Ответить с цитированием
  #5 (permalink)  
Старый 08.12.2013, 23:06
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Спасибо. Не совсем понимаю этот код
var target = e && e.target || event.srcElement; 
		if (target.type == "button" && target.value == "Заказать") { 
			var value = target.previousSibling.value; 
			//alert(target.parentNode.previousSibling.previousSibling.childNodes[0].childNodes[0].nodeValue);
			var ua = navigator.userAgent;
			var elm = ua.search(/MSIE/) > -1 ? target.parentNode.previousSibling.childNodes[0].nodeValue : target.parentNode.previousSibling.previousSibling.childNodes[0].childNodes[0].nodeValue;
Ответить с цитированием
  #6 (permalink)  
Старый 09.12.2013, 08:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от Batyabest
Не совсем понимаю этот код
Что конкрено из него ты не понимаешь?
Ответить с цитированием
  #7 (permalink)  
Старый 09.12.2013, 13:10
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Вроде создается переменная target? а откуда береться e?
и здесь что делается?
var ua = navigator.userAgent;
			var elm = ua.search(/MSIE/) > -1 ? target.parentNode.previousSibling.childNodes[0].nodeValue : target.parentNode.previousSibling.previousSibling.childNodes[0].childNodes[0].nodeValue;
Ответить с цитированием
  #8 (permalink)  
Старый 09.12.2013, 13:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от Batyabest
Вроде создается переменная target?
Так и есть.
Сообщение от Batyabest
а откуда береться e?
Так параметром передается. См. выше
Сообщение от Batyabest
d.getElementById("data").onclick = function(e) {...}
Сообщение от Batyabest
и здесь что делается?
Пытаются определить переменную elm, взависимости от браузера она по-разному вычисляется...
Ответить с цитированием
  #9 (permalink)  
Старый 09.12.2013, 13:41
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

А что она в себя включает эта переменная elm?
Ответить с цитированием
  #10 (permalink)  
Старый 09.12.2013, 15:10
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от Batyabest
А что она в себя включает эта переменная elm?
Правильнее спросить - чему будет равна?

Либо этому
target.parentNode.previousSibling.childNodes[0].nodeValue

Либо этому
target.parentNode.previousSibling.previousSibling.childNodes[0].childNodes[0].nodeValue

В зависимости от этого условия
ua.search(/MSIE/) > -1
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите разобрать условие if Arkinsstoun jQuery 3 13.03.2012 19:35
Помогите оптимизировать этот код Gamestop Общие вопросы Javascript 3 20.01.2012 14:02
помогите пожалуйста улучшить код. Duda.Ml1986@gmail.com Серверные языки и технологии 4 07.01.2012 20:53
Код калькулятора на JS. помогите с ошибкой! kirill.psl Общие вопросы Javascript 9 26.08.2010 11:38
Помогите оптимизировать код. pizzZ jQuery 5 17.11.2009 23:52