Задать свойство стиля через javascript. Вопрос

12
H
На сайте с 17.05.2009
Offline
22
5658

В скрипте возникла необходимость на лету менять свойства элемента. Работает, но не во всех браузерах.

Подскажите как правильно задать свойство background и background-position

Вот если задаю так:

mItems[was].getElementsByTagName('span')[0].style.background="url(http://site.com/images/men_r.gif) no-repeat right top; background-position:100% -24px";

то работает только в ИЕ, а в остальных не хочет..

D8
На сайте с 16.06.2007
Offline
74
dm8
#1
hasimyra:

mItems[was]

Давно не писал на javascript, и возможно отстал от жизни, но по-моему проблема в этом.

H
На сайте с 17.05.2009
Offline
22
#2

да вроде нет...

var mItems=document.getElementById('hor_menu').getElementsByTagName('li');

alert(mItems.length); - показывает число к-во li

D
На сайте с 16.09.2008
Offline
7
#3

Подозреваю, что не стоит перечислять несколько CSS свойств через ;

http://www.w3schools.com/htmldom/prop_style_background.asp

Попробуйте:

mItems[was].getElementsByTagName('span')[0].style.background="url(http://site.com/images/men_r.gif) no-repeat 100% -24px";

F4
На сайте с 24.01.2009
Offline
31
#4

А если прописать два класса, допустим .back1{} и .back2{} и менять не свойство style, а className ?

dvaes
На сайте с 03.09.2007
Offline
65
#5

попробуйте юзать свойства отдельно. т.е.

style.backgroundImage

style.backgroundRepeat

style.backgroundPosition

...

Bdiang
На сайте с 19.07.2006
Offline
102
#6

Либо так

element.setAttribute( 'style', 'background:url(http://site.com/images/men_r.gif) no-repeat right top; background-position:100% -24px' );

Либо отдельно каждое свойство прописывать:

element.style.background = '';
element.style.backgroundPosition = '';
и т.д.
[Удален]
#7
drisch:
Подозреваю, что не стоит перечислять несколько CSS свойств через ;
http://www.w3schools.com/htmldom/prop_style_background.asp
Попробуйте:
mItems[was].getElementsByTagName('span')[0].style.background="url(http://site.com/images/men_r.gif) no-repeat 100% -24px";

Да, вот это верное решение.

По отдельности не обязательно.

Ayavryk
На сайте с 11.10.2003
Offline
209
#8

Плохо это использовать style, там где для этого придуман class.

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
C
На сайте с 16.04.2009
Offline
7
#9

для таких целей лучше пользоваться библиотекой jquery. работает отлично и везде

$("#block").css('color','003333');

мир вам и счастье
ewg777
На сайте с 04.06.2007
Offline
225
#10
creker:
для таких целей лучше пользоваться библиотекой jquery. работает отлично и везде
$("#block").css('color','003333');

Для такой цели не рационально грузить 50 кб кода.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий