2015-04-16 2 views
-1

При присвоении значения переменной переменная принимает неверное значение. Кодvar issue in IE-8

var txtColor = $(".menu-item").css("background-color"); 

Где $(".menu-item").css("background-color"); представляет розовый цвет. Но txtColor принимает как "transparent".

Я вижу эту проблему только в IE-8.

Может ли кто-нибудь помочь мне в решении этой проблемы.

Заранее спасибо.

+1

Вы случайно используете jQuery v2.x? Это несовместимо с IE8. Вам понадобится v1.x для IE8. – jfriend00

+0

На стороне примечания, IE8 в значительной степени [по пути] (http://exisweb.net/ie8-will-not-die-quietly) - с таким количеством пользователей, использующих его, стоит ли даже пытаться поддерживать это в этот момент? Если вы не строите что-то, что должно работать в какой-то старой корпоративной системе, я бы возражал против ее поддержки. – Krease

+0

Здесь должно быть что-то еще, потому что код, который вы показываете, отлично работает в IE8 при использовании с jQuery 1.11.2. Вам нужно будет показать больше того, что вы делаете для кого-либо еще, чтобы знать, как помочь. Попробуйте эту [простую веб-страницу] (https://dl.dropboxusercontent.com/u/7909102/test3.html) в IE8, и вы увидите, что она работает. Он не возвращает «розовый» в других браузерах (я вижу 'rgb (...)'), но работает в IE8. – jfriend00

ответ

0

Вопрос: Ваш CSS настроен таким образом?

background: pink;

Если да, то попробуйте использовать вместо $('.menu-item').css("background");.

Старые версии IE не будут правильно каскадировать определения групп (например, background) другим настройкам. В современных браузерах определение background как «розовый» также установит background-color на «розовый».

+0

Спасибо Jaw.sh, что сработало для меня .... – Niveditha