2010-02-02 2 views
2

Если у меня есть 5 ящиков ввода с классом .inputBox, моя функция jquery добавляет эти теги 5 раз после каждой строки .inputBox. Почему это?jquery .each function

Я просто хочу, чтобы каждый из этих тегов вставил один раз после каждого .inputBox.

Кто-нибудь знает, как это сделать?

function addImages() {   

    $(".inputBox").each(function() { 

      $('.inputBox').after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />"); 
      $('.inputBox').after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />"); 
    }); 
} 

HTML-

<label for="FirstName">First Name</label> 
<input type="text" class="inputBox" name="FirstName" title="First Name Here" id="firstName" /> 

ответ

1

Использование:

$(this).after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />"); 
$(this).after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />"); 

$ ('InputBox') будет перебирать весь DOM каждый раз, когда вы называете его.

Еще лучше было бы

$(".inputBox") 
     .after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />") 
     .after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />"); 

И не забудьте «принять» ответ, который работает для вас.

+0

Ни один из ответов не работал в моем другом сообщении. Я нашел функцию .each и попробовал это, и ваш ответ сработал. Благодаря! – Catfish

0

Вы можете просто потерять все и просто использовать

$('.inputBox').after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />"); 
$('.inputBox').after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />"); 
+0

Извините, ребята. Я оставил кусок для удобства чтения. Мне нужен .each, потому что я использую $ ('inputBox'). Каждый (функция (индекс), и я использую значение индекса, добавленное к id вверх и вниз, чтобы оно было вверх + индекс и вниз + индекс. – Catfish

0

Вы, наверное, не нужен each, не так ли? Основываясь на вашем коде и исправлении, предложенном patrick, я думаю, вы можете просто использовать свой оригинальный код без вызова each().

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