2012-01-29 12 views
6
document.getElementById("test").value 

document.getElementById("test").innerHTML 

¿La primera significa la dirección y la segunda significa el valor almacenado en la dirección? Además, ¿dónde puedo encontrar documentación sobre la propiedad value?¿Cuál es la diferencia entre document.getElementById ("test"). Valor y document.getElementById ("test"). InnerHTML

+0

El [sitio w3schools] (http://www.w3schools.com/) tiene una buena [referencia en el HTML DOM] (http://www.w3schools.com/jsref/default.asp). –

+0

@BrianRogers - Por favor, no recomiende w3schools. Vea http://w3fools.com por qué. – Oded

+0

@Oded - He encontrado que su referencia HTML DOM es bastante útil. Si tiene tanta confianza en el sitio, sería más constructivo recomendar una referencia alternativa para HTML DOM. –

Respuesta

10

.value le da el valor establecido actualmente de un elemento de forma (input, select, textarea), mientras .innerHTML construye una cadena HTML basada en los nodos DOM que contiene el elemento.

Para un ejemplo simple, vaya al JS Fiddle demo, ingrese un nuevo valor en el input y luego salga de la entrada.

La prueba utiliza la siguiente JavaScript:

document.getElementById('input').onchange = function(){ 
    alert('innerHTML: ' + document.getElementById('input').innerHTML + '; whereas value: ' + document.getElementById('input').value); 
}; 

(El texto anterior actualiza, a raíz de un comentario dejado por am not i am, en los comentarios a continuación.)

+2

Me encantaría que dijera en cambio * "' .innerHTML' crea una cadena HTML basada en los nodos DOM que contiene el elemento "* (o algo similar) ya que un nodo DOM no tiene estrictamente ningún contenido" HTML ". –

+1

@amnotiam, de acuerdo. Mi texto actualizado y gracias por la aclaración. =) –

3

algunos elementos HTML tienen un atributo "value", como <input/> algunos otros no lo tienen.

si desea modificarlos, puede usar el atributo DOM (usado con Javascript) innerHTML (si lo tienen). este atributo representa el contenido de un elemento, por lo que puede ser utilizado para los elementos de aceptar a anidar otro elemento tal como <div/>,

3

Muchos elementos en HTML pueden tener una identificación, por lo la definición de value cambiará para cada uno.

value será esencialmente lo que ese elemento entiende como un valor. Por ejemplo, un <input type=text> le daría el texto dentro.

innerHTML será el código HTML que se encuentra dentro. Por ejemplo, un <TR> tendría su hijo TD, más cualquier otra cosa que esté allí.

value y innerHTML se puede (por lo general) escribir y leer.

1

Tiene que ver con cómo funcionan algunas etiquetas en función de sus atributos, donde otros trabajan en el texto entre las etiquetas de apertura y cierre.

.value recupera el valor que se haya establecido para el atributo value de la etiqueta. .innerHTML recupera lo que haya entre las etiquetas de apertura y cierre.

Por ejemplo, si la etiqueta HTML era
<input type="text" value="Enter name here" id="user_name" />
y utiliza el código JavaScript
var name = document.getElementById('user_name').value
sería declarar una variable name y darle el valor "Introduce el nombre aquí" (suponiendo que el usuario no lo cambió)Por otro lado, si usted tiene HTML como
<div id="abc">blah blah</div>
allí tendría que utilizar
var text = document.getElementById('abc')
y que sería establecer la variable text a "bla bla".

0
document.getElementByid('test').value 

se usa para dar valor en un campo de texto. Como

<input type="text" id="test" name="test"> 

Ahora pone valor en este campo de texto.

Mientras document.getElementByid('test').innerHTML se utiliza para dar valor en un área específica. Como

<div id="test"> 
</div> 

Ahora imprime el valor dentro del área div.

Cuestiones relacionadas