Показать сообщение отдельно
  #4 (permalink)  
Старый 24.09.2013, 19:15
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Дело в том, что функции являются дочерними элементу window, а не элементу, которым они были вызваны. То есть, код
this.parentNode.style.width
,
вызванный внутри функции, равнозначен коду
window.parentNode.style.width
,
что не есть правильно.
Чтобы код работал, надо либо исполнять его сразу в onclick, без всяких вызовов функций, либо вместо атрибута src передавать весь элемент <img>. Вот так:
<html>
<head>
<script>
function set_parent_width(elem) {
var src = elem.src;
if (src == 'mono/p24img') {elem.parrentNode.style.width = '100%';}

}
</script>
</head>
<body>
<img src="http://site.com/img/ImgCatalogueJpg/600/mono/p24img/1.jpg" onclick='set_parent_width(this)>
</body>
</html>

Последний раз редактировалось Erolast, 24.09.2013 в 19:18.
Ответить с цитированием