Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Что за ФИГНЯ?! У этого языка программирования логика вообще есть?! (https://javascript.ru/forum/misc/54626-chto-za-fignya-u-ehtogo-yazyka-programmirovaniya-logika-voobshhe-est.html)

tsigel 25.03.2015 16:00

skrudjmakdak,
Я как раз тоже подумал объяснить с другой стороны, только на объектах. Ведь дом элементы это объекты и как все нормальные объекты они передаются по ссылке:

var a = {"test": "test"};// это то что находится в доме
var b = a// это ссылка на элемент

alert(JSON.stringify(b));

a = {"test": "test2"} // .outerHTML = id1.outerHTML.replace (то место где вы перезаписывете объект, b - остается прежним!)

alert(JSON.stringify(a));
alert(JSON.stringify(b));

skrudjmakdak 25.03.2015 16:02

<!DOCTYPE html>
<html>
	<head>
		<title>example</title>
	</head>

	<body>
		<div class="cont">1</div>
		<script>
var a = document.querySelector('div'); //записали в переменную ссылку на div
a.outerHTML = '<span>2</span>'; //убрали див из дерева (но не удалили!! он живет в переменной "a") и записали на его место спан
document.body.appendChild(a); //теперь вернем наш div
a.innerHTML = 11;
		</script>
	</body>
</html>

newuser1001 25.03.2015 16:03

конкретно этот косяк можно пофиксить вот так:
<html>
<head>
<style>
</style>
</head>
<body>



<div id="id1" onclick="Function1()">Click on me</div>
<script>
id1.outerHTML = id1.outerHTML.replace('onclick="Function1()"', 'onclick="Function2()"');
 
alert(id1.outerHTML);
 
function Function1(){
 
    alert('Function1 is executed!');
 
}
 
function Function2(){
 
    alert('Function2 is executed!');
 
}
 
 
</script>
</body>
</html>

Просто убрав строку с getElementById (она там особо не нужна, так как эл-ты с id и так доступны по именам переменных), но, в общем случае, конечно, это не сработает. Надо, избегать, короче, этого дерьма, по возможности.

newuser1001 25.03.2015 16:06

skrudjmakdak,
И че? Какое это к сабжу имеет отношение?

skrudjmakdak 25.03.2015 16:08

Цитата:

Сообщение от newuser1001 (Сообщение 363060)
skrudjmakdak,
И че? Какое это к сабжу имеет отношение?

к тому что ты пока не понимаешь смысл указателей

newuser1001 25.03.2015 16:12

skrudjmakdak,
Короче, я прочитал это как:
Цитата:

я обосрался, извини, хотел рисануться, не получилось.
Ниче, бывает.

Твое кукареку имеет такое же отношение к сабжу, как сортир в деревне Простоквашино.

А то о чем ты говоришь, это элементарщина, я хз, как это можно "не понимать", дегенератом полным надо быть для этого.

tsigel 25.03.2015 16:14

skrudjmakdak,
Не обращай внимания на этого троля.

newuser1001 25.03.2015 16:17

tsigel,
заканчивай уже кирпичами срать. Ну мокнул я тебя разец в говнецо, не вечно же ты с этой болью жить будешь? В следующий раз будешь внимательней относиться к своим словам, ты спасибо должен сказать, я тебя к ответственности приучаю. Может мужиком станешь, со временем.

skrudjmakdak 25.03.2015 16:17

newuser1001,
тебе хотят помочь, но ты грубишь в место того чтобы вникнуть. это печально. это очень печально. так как оно нужно не мне, а тебе

newuser1001 25.03.2015 16:20

skrudjmakdak,
Ты не попутал ничего? Я чо помощи просил? Я у тебя конкретно спросил, какое отношение твоя хрень имеет к сабжу. Ты слился. А про помощь -- это уже твои фантази, ты видать попутал. Разуй глаза.


Часовой пояс GMT +3, время: 13:38.