http://jsfiddle.net/k3Grd/373/Jquery не удается обновить пользовательский атрибут
Как вы можете видеть из этой скрипки, я могу установить атрибут, но я не могу изменить его после этого. Есть ли способ исправить это, чтобы я мог его обновить?
Вот код, с скрипкой:
<input type="text" id="tester" value="some data">
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
$(function(){
$('#tester').attr('readonly', 'readonly');
$("#one").html($('#tester').attr('readonly'));
$('#tester').attr('readonly', 'true');
$("#two").html($('#tester').attr('readonly'));
$('#tester').attr('readonly', 'BROKEN');
$("#three").html($('#tester').attr('readonly'));
});
Выход:
readonly
readonly
readonly
Edit: Обновлен код, чтобы использовать вход. Я не думал, что это будет иметь значение.
Редактировать: Спасибо phillip100 за указание, что я должен использовать prop() not attr(). Кроме того, readonly получает значение false с логическим значением false, но оно всегда верно для строки.
$('#tester').prop('readonly', false); //correct
$('#tester').prop('readonly', 'false'); //incorrect
http://jsfiddle.net/k3Grd/378/
'readonly' является ** свойством **, связанным с элементами ввода, и поскольку свойство должно обрабатываться с помощью' .prop() ' –
, то, по-видимому, поддержка не работает: http://jsfiddle.net/k3Grd/ 374/ – devicifer
да, это делает: http://jsfiddle.net/k3Grd/375/. Вы можете прочитать о [** '.prop()' **] (http://api.jquery.com/prop/) –