2009-09-29 2 views
14

У меня есть простое поле ввода:JQuery: Добавление текста после того, как поле ввода

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

Я пытаюсь добавить некоторые ссылки сразу же после этого; так что я буду получать:

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

я пытался:

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

без успеха, должно быть глупо, но я не могу выяснить, что случилось.

+0

входной элемент является [недействительным элементом] (http://www.w3.org/TR/html-markup/syntax.html#syntax -элементы) - это значит, что у него нет контента или детей. «Append» добавляет ребенка, поэтому он не работает. – Izhaki

ответ

35

Попытка .after() вместо того, чтобы:

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

Использование после вместо добавления

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

Правильно, теперь отлично работаем. Благодаря ! – Disco

+27

Я не понимаю, как кто-то еще отправил тот же ответ, что и я позже, заслуживает того, чтобы его отметили как ответ? –

+0

Не знаю, это смешно. Ваш ответ мне очень помог. Спасибо Тиму! – 2012-06-20 21:58:14

7

Метод append добавит узел вы даете его к элементу вы называете его.

В вашем случае вы помещаете HTML внутри элемент INPUT.

Чтобы добавить HTML-код после вашего элемента INPUT, необходимо использовать метод after.

+0

объяснение –

Смежные вопросы