jQuery readonly属性问题

rut*_*raj 7 jquery

我有这个

<input type="text" id="tbox" name="tbox" readonly="readonly" />
Run Code Online (Sandbox Code Playgroud)

我有一个按钮,我这样做

$('#tbox').removeAttr('readonly');
Run Code Online (Sandbox Code Playgroud)

我也试过这样做

$('#tbox').attr('readonly', false);
Run Code Online (Sandbox Code Playgroud)

..但没有工作..

Rus*_*Cam 13

当使用jQuery为文档对象的ready事件加载DOM时,您将需要执行此操作.这是一个工作演示

$(document).ready(function() {

    $('#tbox').removeAttr('readonly');

});
Run Code Online (Sandbox Code Playgroud)

或速记

$(function() {

    $('#tbox').removeAttr('readonly');

});
Run Code Online (Sandbox Code Playgroud)

编辑:

我刚阅读您的其他问题,一个是如何$()没有工作,但是当你使用jQuery(),你的代码工作.这表明与该$函数存在冲突,很可能是由于页面上也使用了另一个JavaScript框架,也使用了$简写.您可以

1-使用jQuery的noConflict()来解决这个问题.您可以将jQuery选择器函数分配给其他别名.

2- jQuery()在代码中使用代替$()

3-将你的jQuery代码包装在一个自调用的匿名函数中,这个函数仍然允许你$()在它里面使用jQuery选择器的简写

(function($) {

    $(function() {

        $('#tbox').removeAttr('readonly');

    });

})(jQuery);
Run Code Online (Sandbox Code Playgroud)

这是一个匿名函数,它接受一个参数,$并立即执行,jQuery作为该参数的参数传入.

  • +1有用的答案,甚至一个工作的例子!:) (3认同)