Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.04.2016, 15:04
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Как получить доступ к style объекта через chilNodes?
Здравствуйте. Помогите, пожалуйста, разобраться с тем, что не так в подобной записи доступа к style объекта через childNodes в функции onButt(elem). Читая подобный код других людей, я не вижу в нём различий, но у людей он работает, а у меня нет. Что я пропускаю? Заранее благодарю.

Прошу прощения. Отредактировал. Закинул код целиком.

<html>
	<head>
		<style type="text/css">
			.leftCorn {-webkit-clip-path: polygon(0px 50%, 100% 0px, 100% 100%); width: 50px; height: 50px; background: green; position: absolute; left: 0px; margin: 0px;}
			.rightCorn {-webkit-clip-path: polygon(0px 0px, 100% 50%, 0px 100%); width: 50px; height: 50px; background: green; position: absolute; left: 50px; margin: 0px;}
		</style>
		<script type="text/javascript">
			function onButt(elem) {
				elem.childNodes[0].style.left = -50 + 'px';
				elem.childNodes[1].style.left = 100 + 'px';
				elem.childNodes[2].style.left = 0 + 'px';
				elem.childNodes[2].style.width = 100 + 'px';
		}
		</script>
	</head>
	<body>
		<div id = "btn" onmouseover = "onButt('btn');" style = "width: 100px; height: 50px; padding: 0px; position: fixed; left: 400px;">
			<div id = "c1" class = "leftCorn"></div>
			<div id = "c2" class = "rightCorn"></div>
			<div style = "height: 50px; background: grey; position: absolute; left: 50px;"></div>
		</div>
	</body>
</html>

Последний раз редактировалось Валес, 16.04.2016 в 15:11.
Ответить с цитированием
  #2 (permalink)  
Старый 16.04.2016, 15:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Валес,
у промежутков между тегами (textNode) нет style.
Сообщение от Валес
childNodes
children
Ответить с цитированием
  #3 (permalink)  
Старый 16.04.2016, 15:18
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Простите меня на данный момент времени затупка в этом плане. Не могли бы вы в примере кода пояснить? Не совсем понимаю о чём идёт речь. Совсем недавно ознакомляюсь с этой темой. Раньше всегда обращался к объектам только через "id". Пока мало что понимаю в дочерней структуре объектов.
Ответить с цитированием
  #4 (permalink)  
Старый 16.04.2016, 15:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Валес,
строка 9 обращается к промежутку между строкой 17 и 18, так понятнее?

Последний раз редактировалось рони, 16.04.2016 в 15:27.
Ответить с цитированием
  #5 (permalink)  
Старый 16.04.2016, 15:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Валес,
elem.childNodes[0] -- перевод строки
elem.childNodes[1] --- <div id = "c1" class = "leftCorn"></div>
elem.childNodes[2] -- перевод строки
Ответить с цитированием
  #6 (permalink)  
Старый 16.04.2016, 15:37
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Благодарю. В теории мне всё ясно. Но я пытался менять индексы с учётом перевода строки и пробовал использовать children. У меня как было всё статичным, так и осталось, к моему сожалению.
Ответить с цитированием
  #7 (permalink)  
Старый 16.04.2016, 15:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Валес,
кавычки уберите из onButt в onmouseover
Ответить с цитированием
  #8 (permalink)  
Старый 16.04.2016, 15:48
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Вот...дела...как же глупо.) Извиняюсь за свою не- и благодарю за вашу внимательность. С учётом всего остального всё работает. Спасибо.
До этого, когда я пробовал убирать кавычки, ошибка была в индексах, поэтому счёл, что это не играет роли.
Странно, что я это не уяснил на автомате. Потому что другие мои функции работали через передачу id в функцию.

Последний раз редактировалось Валес, 16.04.2016 в 15:51.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в директиве, получить доступ к input входящему в шаблон директивы? - AngularJS metaller92 Angular.js 3 17.02.2016 07:14
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как получить доступ к элементу перед html тэгом konstantinz Events/DOM/Window 2 11.08.2013 14:51
Как обратиться к переменной внутри объекта, в произвольной функцию через его метод platedz Элементы интерфейса 15 25.08.2012 00:03
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32