[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: getAttribute()
Alecs
Доброго времени суток.
Мне необходимо получить значение атрибута onclick, установленого в контейнере div. Следующий код великолепно работает в мозиле
Код
document.getElementById(kursor).getAttribute('onclick')

и не работает в internet explorerе.
Проблема в том что этот код в IE возвращает объект а не стринг. Как это обойти?



Спустя 38 минут, 39 секунд (2.12.2008 - 02:18) kirik написал(а):
если атрибуты стандартные, то и получать их можно без использования ф-ии getAttribute();
типа так -
Код
alert(document.getElementById(kursor).onclick);

Спустя 6 часов, 31 минута, 27 секунд (2.12.2008 - 08:49) Sylex написал(а):
а kursor почему не в кавычках?

Спустя 42 минуты, 11 секунд (2.12.2008 - 09:31) Alecs написал(а):
Цитата (Sylex @ 2.12.2008 - 05:49)
а kursor почему не в кавычках?

потому что это переменная

Спустя 1 минута, 48 секунд (2.12.2008 - 09:33) Alecs написал(а):
Цитата (kirik @ 1.12.2008 - 23:18)
если атрибуты стандартные, то и получать их можно без использования ф-ии getAttribute();
типа так -

Код
alert(document.getElementById(kursor).onclick);

результат не изменился
возвращается объект

Спустя 1 час, 24 минуты, 54 секунды (2.12.2008 - 10:58) kirik написал(а):
Сорь, ступил.. Взять значение onclick никак нельзя.. потому что это не текстовое значение, а функция.
А сильно нужно?
Можно достать ХТМЛьную часть из контейнера, в котором находится наш onclick, и потом отпарсить само действие.

Спустя 2 часа, 1 минута, 13 секунд (2.12.2008 - 12:59) vasa_c написал(а):
По правильному значением атрибута [el.getAttribute("onclick")] должна быть строка, а значением свойста объекта [el.onclick] - функция. Что и наблюдается в FF.
Однако, IE путает атрибуты и свойства поэтому видим то, что видим.
А что надо то?


ЗЫ.
Ссылка на статью - xpoint.ru/know-how/jаvаscript/Atributyi?comments
В [ URL] ссылки херятся. Исправьте

Спустя 9 минут, 6 секунд (2.12.2008 - 13:08) Alecs написал(а):
У меня сделан превью-скрол бар на три видимых фотки и две кнопки навигации. Работет нормально, но теперь заказчик хочет чтоб фотография загружалась автоматически, если фокус (средняя позиция) на ее превьюшке задержался более чем на 5 секунд. Как сделать? Я ничего лучше не придумал, как получить значение 'onclick', и запустить ее через eval.
Как я уже сказал это работает, но только в мозиле.

Спустя 7 минут, 31 секунда (2.12.2008 - 13:16) vasa_c написал(а):
Если честно, совершенно не понял, что вам нужно и уверен, что скорее всего это можно сделать куда проще.
Но запустить onclick можно так:
element.onclick()
причём в этом случае он будет запущен в контексте нужного элемента, в то время как при eval() нет.

А ещё лучше сэмулировать щелчок (таким образом будет учетно ещё большое количество нюансов):
element.click()

А ещё лучше подумать над тем, как всё это сделать без подобных извращений.

Спустя 36 минут, 49 секунд (2.12.2008 - 13:53) Alecs написал(а):
Цитата (vasa_c @ 2.12.2008 - 10:16)
Если честно, совершенно не понял, что вам нужно и уверен, что скорее всего это можно сделать куда проще.
Но запустить onclick можно так:
element.onclick()
причём в этом случае он будет запущен в контексте нужного элемента, в то время как при eval() нет.

А ещё лучше сэмулировать щелчок (таким образом будет учетно ещё большое количество нюансов):
element.click()

А ещё лучше подумать над тем, как всё это сделать без подобных извращений.

К сожалению для контейнера div метод click() (эмуляция нажатия мышки) не предусмотрен.

Спустя 9 минут, 26 секунд (2.12.2008 - 14:02) vasa_c написал(а):
Значит можно сгенерировать события:
http://wdh.suncloud.ru/dhtml12.htm#ref412
http://wdh.suncloud.ru/dhtml11.htm#ref411

А лучше внести изменения в этот скролбар, который у вас "сделан"

Спустя 1 час, 23 минуты, 2 секунды (2.12.2008 - 15:25) Alecs написал(а):
Цитата (vasa_c @ 2.12.2008 - 11:02)
Значит можно сгенерировать события:
http://wdh.suncloud.ru/dhtml12.htm#ref412
http://wdh.suncloud.ru/dhtml11.htm#ref411

А лучше внести изменения в этот скролбар, который у вас "сделан"

Спасибо, все запустил.

Спустя 1 месяц, 3 дня, 10 часов, 24 минуты, 9 секунд (6.01.2009 - 01:49) Ильнур написал(а):
Код

<script>
function a(){
   var inp=document.getElementById('inp');
   inp.setAttribute('maxLength',10);
   var a=inp.getAttribute('maxlength');
   alert(a);
}
</script>
<body onload="a()">
<input id="inp" />
</body>

вот этот код выдаст (2^(8*4-1)-1), т.е. с maxlength ничего не произошло.
и где же они, интересно, вычитали что "правильное" написание этого аттрибута maxLength. Здесь с маленькой.

Спустя 2 минуты, 16 секунд (6.01.2009 - 01:52) Ильнур написал(а):
ошибка в предидущем посте: там уже "правильное" в set поставлено.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.