Я думаю, что "если" даже не лучший способ сделать это.
Ответ 1
Самый быстрый способ - использовать функцию .is() jQuery.
if ( $('input').is('[readonly]') ) { }
с помощью [readonly] в качестве селектора просто проверяет, определен ли атрибут для вашего элемента. если вы хотите проверить значение, вы можете использовать что-то вроде этого:
if ( $('input').is('[readonly="somevalue"]') ) { }
Вы можете просто использовать селектор атрибутов, а затем проверить длину:
$('input[readonly]').length == 0 // --> ok
$('input[readonly]').length > 0 // --> not ok
Ответ 4
Проверьте текущее значение вашего атрибута "только для чтения", если оно "ложно" (строка) или пустое (undefined или ""), тогда оно не является readonly.
$('input').each(function() {
var readonly = $(this).attr("readonly");
if(readonly && readonly.toLowerCase()!=='false') { // this is readonly
alert('this is a read only field');
}
});