Получить значение атрибута ширины кнопки с помощью jQuery в IE - PullRequest
0 голосов
/ 15 февраля 2010

Имея эту кнопку на моей странице:

<input type="button" id="Button1" value="OK" class="buttonClass" width="150px"/>

и используя jQuery 1.3.2, если я запустил эту команду:

alert($('.buttonClass').attr('width'));

Я получаю '150px' во всех браузерах, но в IE (любая версия) я получаю '0'.

если я добавлю атрибут custon в тег кнопки, что-то вроде этого:

<input type="button" id="Button1" value="OK" class="buttonClass" myattribute="150px"/>

затем команда:

alert($('.buttonClass').attr('myattribute')); 

работает во всех браузерах, включая IE, и возвращает «150px».

Кто-нибудь знает, что здесь происходит и есть ли исправления?

Ответы [ 2 ]

1 голос
/ 15 февраля 2010

ОБНОВЛЕНИЕ: Упрощенный и удаленный материал об использовании свойств DOM, а не attr().

Во-первых, атрибуты width и height входных данных должны быть целыми числами, а не значениями длины; пиксели предполагаются.

Во-вторых, и это является причиной проблемы (как вы можете доказать, изменив тип ввода на «изображение»), атрибуты ширины и высоты являются подходящими и влияют только на рендеринг в браузере для входных данных типа image. Для кнопок вам нужно использовать CSS для изменения размеров.

0 голосов
/ 15 февраля 2010

Можете ли вы гарантировать, что .buttonClass уникален?

Если вы можете, то лучше выбрать по идентификатору в любом случае

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...