2009-09-29 29 views
14

Tengo un campo de entrada simple:jQuery: Agregar texto después de un campo de entrada

<input type="text" id="someid" name="somename" class="someclass"> 

Estoy intentando añadir algún vínculo justo después de esto; así que voy a conseguir:

<input type="text" id="someid" name="somename" class="someclass"> - <a href="#">..</a> 

Traté:

$("input#someid.someclass").append(' - <a href="#">Are you sure ?</a>'); 

sin éxito, debe ser estúpido, pero no puedo encontrar lo que está mal.

+0

elemento de entrada es un [elemento vacío] (http://www.w3.org/TR/html-markup/syntax.html#syntax -elementos) - lo que significa que no puede tener contenido o hijos. 'Append' agrega un hijo, por lo tanto, no funciona. – Izhaki

Respuesta

35

.after Try() en lugar:

$("input#someid.someclass").after(' - <a href="#">Are you sure ?</a>'); 
58

uso después en lugar de anexar

$("input#someid.someclass").after(' - <a href="#">Are you sure ?</a>'); 
+0

Correcto, funciona perfectamente ahora. Gracias ! – Disco

+27

No entiendo cómo alguien más publicó la misma respuesta que yo más tarde merece ser marcado como la respuesta? –

+0

No lo sé, eso es ridículo. Tu respuesta me ayudó mucho. Gracias Tim! –

7

El método append añadirá el nodo se le da al elemento que llame a encenderlo.

En su caso, está poniendo el HTML dentro de elemento INPUT.

Debe utilizar el método after para insertar el código HTML después del elemento INPUT.

+0

gracias por la explicación –

Cuestiones relacionadas