Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   На подобие innerHTML (https://javascript.ru/forum/misc/12707-na-podobie-innerhtml.html)

qwermjk 29.10.2010 19:04

На подобие innerHTML
 
Есть чтото на подобие innerHTML только чтобы она добавляла код, а не заменяла его весь?? :)

monolithed 29.10.2010 19:10

<div>Hello</div>

<script type="text/javascript">
window.onload = function(){
   document.onclick = function(){
       document.getElementsByTagName('div')[0].innerHTML += ' World';
   };                             
};
</script>

qwermjk 29.10.2010 19:15

Спасибо, кажись я понял =))

Aetae 29.10.2010 19:18

Только оно всё равно заменяет его весь...)
А именно добавлять как-то так:
<div>Hello</div>

<script type="text/javascript">
document.onclick = function(){
    document.getElementsByTagName('div')[0].appendChild(document.createTextNode(' World'))
}
</script>


Кстати если добавлять не текст, но код то уже сложне:
<div>Hello</div>

<script type="text/javascript">
function dom(ht){
	var d = document.createElement('div'),f = document.createDocumentFragment();d.innerHTML=ht;
	while (d.firstChild) f.appendChild(d.firstChild);
	return f
}
document.onclick = function(){
	document.getElementsByTagName('div')[0].appendChild(dom('<b> World</b>'));
}
</script>

exec 30.10.2010 12:23

Цитата:

Кстати если добавлять не текст, но код то уже сложне:
?

<html>
	<body>
		<div id='foo'>
		</div>
		<script type='text/javascript'>
			document.getElementById("foo").innerHTML += "<b>1</b>";
		</script>
	</body>
</html>

subzey 30.10.2010 14:56

exec,
При этом у всего содержимого foo пропадут обработчики событий и свойства, не выражаемые аттрибутами.

vladlen 02.11.2010 03:10

subzey, спасибо, возьму на заметку ;)


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