Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   взять div и поместить в другой (https://javascript.ru/forum/jquery/35112-vzyat-div-i-pomestit-v-drugojj.html)

Ressary 30.01.2013 22:00

взять div и поместить в другой
 
имеется html файл на подобии такого(нашел на этом же сайте)

<html>
	<head>
		<script type="text/javascript">
			window.onload = function () {
    				document.getElementsByTagName('a')[0].onclick = function () {
        					var span = document.getElementsByTagName('span')[0];
        					var div = document.getElementsByTagName('div')[1];
        					div.innerHTML = span.innerHTML;
    				}
			}
		</script>


	</head>
	<body>
		<a href="#">
			Мамонтова А.А.<br>
			<span style="display:none;">
				<div>text0</div>
				<p>345</p>
			</span>
		</a>
		<div style="width:100px; height:100px; border:1px black solid;">
			123
		</div>
</body>
</html>


НО если добавить еще 1 ссылку, то перестает работать вообще вся функция (нужно, чтоб было больше 2х ссылок, изменяющие 1 div)

помогите плиз, где ошибка?

danik.js 30.01.2013 22:12

А что в конечном итоге нужно сделать? Или вы просто хотите разобраться почему не работает?
document.getElementsByTagName('div') - возвращает массив всех div'ов на странице. document.getElementsByTagName('div')[1] - второй див в массиве всех дивов страницы. То есть используется неудобная выборка элементов. Гораздо проще указать различные css-классы элементам и использовать document.querySelector('.myclass div') к примеру. Тоесть выборка будет по css-селектору. Можно использовать jQuery, там еще все проще.

Ressary 30.01.2013 22:15

Цитата:

Сообщение от danik.js (Сообщение 230555)
А что в конечном итоге нужно сделать? Или вы просто хотите разобраться почему не работает?
document.getElementsByTagName('div') - возвращает массив всех div'ов на странице. document.getElementsByTagName('div')[1] - второй див в массиве всех дивов страницы. То есть используется неудобная выборка элементов. Гораздо проще указать различные css-классы элементам и использовать document.querySelector('.myclass div') к примеру. Тоесть выборка будет по css-селектору. Можно использовать jQuery, там еще все проще.

нужно, чтоб было больше 2х ссылок, изменяющие 1 div
ну и разобраться почему не работает, конечно, тоже )

danik.js 30.01.2013 22:34

Ну, я принцип объяснил. Если интересует почему не работает конкретный код - выкладывайте его тут.


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