Tendrás que hacer esto cuando el DOM se ha cargado usando el evento listo de jQuery para el objeto del documento. He aquí una Working Demo
$(document).ready(function() {
$('#tbox').removeAttr('readonly');
});
o la abreviatura
$(function() {
$('#tbox').removeAttr('readonly');
});
EDIT:
acabo de leer sobre cómo one of your other questions$()
no estaba funcionando, pero cuando se utiliza jQuery()
, su código trabajado. Eso indica que hay un conflicto con la función $
, muy probablemente debido a que también se utiliza en la página otro marco de JavaScript que también utiliza la taquigrafía $
. Puede
1- use jQuery's noConflict() para evitar esto. Puede asignar la función del selector jQuery a un alias diferente.
2- uso jQuery()
en el código en lugar de $()
3- envolver su código jQuery en una función anónima auto-invocando que todavía le permitirá utilizar la abreviatura $()
para el selector de jQuery dentro de ella
(function($) {
$(function() {
$('#tbox').removeAttr('readonly');
});
})(jQuery);
Esta es una función anónima que toma un parámetro, $
y se ejecuta inmediatamente, pasando jQuery
como argumento para ese parámetro.
Su código parece estar bien. Algún otro código generará el error. Intenta depurar usando Firebug. – rahul
Utilice Prop() en lugar de attr(). Ver este artículo, http://stackoverflow.com/questions/5874652/prop-vs-attr. Además, si está en IE, verifique el modo de compatibilidad (Herramientas> "Vista de compatibilidad") y asegúrese de que la Vista de compatibilidad no esté marcada. – spoony