jQuery .val () no funciona en html chunk?

No puedo entender por qué este código no funciona como se esperaba:

var $obj = jQuery('<div>xx<input type="text" value="" />xx</div>'); $obj.find('input').val('testing'); console.log($obj.html()); 

El resultado resultante es sin ningún cambio, es decir, sin cambio en el valor. Pero append() y otras funciones funcionan bien. ¿Qué podría estar mal?

2 Solutions collect form web for “jQuery .val () no funciona en html chunk?”

value es un atributo del cuadro de dialog de input.

Hacer .val(...) cambia la propiedad de valor y no el valor en el DOM.

Vea aquí las diferencias entre properties y attributes.


Si quisiera ver un cambio físico en el atributo de valor, podría hacer algo como esto:

 var $obj = jQuery('<div>xx<input type="text" value="" />xx</div>'); $obj.find('input').attr('value','testing'); console.log($obj.html()); 

Demostración: http://jsfiddle.net/maniator/YsZLt/

El atributo "value" asigna a la propiedad .defaultValue .

No hay ningún atributo que se .value propiedad .value . Sin embargo, en inputs de inputs no sucias , puede establecer el atributo "value" (y obviamente, .defaultValue ) y eso se reflejará en la propiedad .value .

Como tu input no está sucia, puedes hacer esto

 var $obj = jQuery('<div>xx<input type="text" value="" />xx</div>'); $obj.find('input').prop('defaultValue', 'testing'); console.log($obj.html()); //xx<input type="text" value="testing">xx 
  • ¿Cómo agregar una identificación de fila a cada fila?
  • La información sobre herramientas de la fundación no está funcionando. Alguna idea sobre este tema?
  • Evento desencadenante en el textbox Cambio de valor
  • JQuery click () en la label de anclaje que no se activa desde un script insertado dentro del control WebBrowser
  • ¿Cómo cambiar la URL en el browser sin navegar desde la página?
  • La forma más elegante de crear una estructura de tipo Namespace / Class en JavaScript
  • jQuery y long int ids
  • ¿Cuál es la diferencia entre jQuery, Prototype, Extjs, mootools, Scriptaculous, Spry, YUI, DOJO framework?
  • La function de callback .ajaxStop se está ejecutando varias veces
  • Exponer jQuery a un object de window real con Webpack
  • ¿Cómo usar jQuery para seleccionar los primeros siguientes elementos que coinciden con un determinado selector?
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.