http://jsfiddle.net/k3Grd/373/
正如你从这个小提琴中看到的那样,我可以设置属性,但在此之后我无法改变它。有没有办法解决这个问题,以便我可以更新它?
以下是代码,来自小提琴:
<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
编辑:更新了使用输入的代码。我认为这不重要。
编辑:感谢phillip100指出我应该使用prop()而不是attr()。此外,readonly设置为false,布尔值为false,但对于字符串,它始终为true。
$('#tester').prop('readonly', false); //correct
$('#tester').prop('readonly', 'false'); //incorrect
答案 0 :(得分:1)
你想如何将 readonly 这样的attr放到一个div中,这没有意义。
您可以将 readonly 添加到输入,选择和textarea ....
答案 1 :(得分:1)
将.attr()
更改为.data()
,它会起作用。正如@DarkteK指出的那样,readonly
仅用于输入字段。