2009-08-09 13 views
28

quiero tener una línea de código similar a continuación:¿Cómo verificar la existencia de ID usando jQuery?

var name = $('#input-name').attr("value"); 

Sin embargo, el id 'de entrada-nombre' no está garantizada de existir. ¿Cómo verifico su existencia para que la asignación no arroje un error?

+1

Solo para agregar, si * es * un , simplemente puede usar .val() – Marc

Respuesta

52
if ($('#input-name').length) { 
    // do something 
} 
+0

@ScottE: buen consejo para resolver el mismo problema para mí! Gracias por esto :) solo por cierto, parece que usted agregó un rastro; que no es necesario? –

+0

Sí, correcto. Editado – ScottE

3

Compruebe si hay longitud o .size() en el objeto. La selección no fallará, jQuery siempre devolverá un objeto.

0
var name; 
if ($('#input-name').length > 0) 
name= $('#input-name').attr("value"); 
+0

sin necesidad de> 0 – redsquare

1

En mi prueba la asignación no causó un error, simplemente devolvió undefined.

En cuyo caso la solución sería la siguiente:

var name = $('#input-name').attr("value"); 
if (name) { 
    // blah blah 
} 

O tal vez:

var name = $('#input-name').attr("value") || 'defaultValue'; 

... si eso tiene sentido en su caso.

Cuestiones relacionadas