2014-08-08 5 views
2

Привет Я пытаюсь получить все скрытые поля на странице с помощью jQuery, у которых есть имя класса, которое я указываю, и имеет значение true. Для этого я использую следующий селектор JQueryМножественный атрибут jQuery, не работающий в IE8

$("input[class='EditModeStatus'][value='true']"); 

Здесь я хочу, чтобы получить все скрытые поля с именем класса «EditModeStatus» и имеют значение «истина». Этот селектор отлично работает в Mozilla и Chome, но когда я тестирую его в IE8, он не работает. Что будет в этом проблема?

Thanks

+1

Вы можете использовать разметку html, которая не работает –

+1

Если у вас есть несколько классов, назначенных этим элементам, вам нужно будет использовать '$ (" input [class * = 'EditModeStatus'] [value = 'true'] "); ', звездочка указывает' contains' not 'equals' (только), это также предполагает, что у них есть атрибут' value'. – SW4

+2

У старого IE есть проблемы с получением любого атрибута, где имя свойства является чем-то другим, например 'getAttribute ('class')' не работает в IE, но во всех других браузерах, но почему-то 'getAttribute ('className') 'работает в более старом IE, но не в других браузерах, поэтому я предполагаю, что это проблема. Почему бы просто не сделать '$ (" input.EditModeStatus [value = 'true'] ");' вместо – adeneo

ответ

2

Спасибо всем за ваши ценные ответы.

Вместо следующего селектора

$("input[class='EditModeStatus'][value='true']") 

Я использовал этот

var IsEditModeOn = $("input.EditModeStatus").filter(function() { return this.value == 'true' }).length > 0; 

и она работает во всех браузерах.

Смежные вопросы