JQuery, как получить доступ к divs < p > пометить и добавить его
Вопрос
Здравствуйте, я кое-что пробовал .. Я читал документацию по обходу Jquery на некоторых форумах, на этих сайтах ранее задавались вопросы, относящиеся к этой теме .. Никто на самом деле не отвечает на мой вопрос, поэтому я спрошу вместо этого ... вот сделка
<div class="entry">
week
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />
</div>
Итак, я использовал цикл while, чтобы создать их несколько, поэтому мне не нужно вручную копировать и вставлять их ... asp генерирует их ... теперь вы видите раздел p, в котором написано DKK .. теперь для меня чтобы не писать все вручную, я бы хотел, чтобы каждый div делился на p, добавляя значение input внутри этого div, теперь вот что я сделал с Jquery
$(document).ready(function() {
$("input").each(function () {
var element_value = $(this).val();
$(this).closest("p").append(element_value + ",-");
});
});
Итак, я попытался пройти через каждый вход и собрать их значение, затем найти ближайший тег p и добавить его со своим значением, теперь правильный результат для этого примера выше будет
<p>DKK 75,-<p>
поскольку входное значение равно 75 и оно включено в функцию добавления, - добавьте также, что этот код не работает, однако, если я добавлю
$(this).parents("div.entry").append(element_value + ",-");
instead of
$(this).closest("p").append(element_value + ",-");
Появляются правильные результаты, но не совсем там, где я их хочу .. надеюсь, кто-то может мне помочь, спасибо
Решение
Если вы прочитаете документацию для closest (), вы увидите, что она смотрит только вверх, а не в сторону:
Получить набор элементов, содержащий ближайший родительский элемент, соответствующий указанному селектору, включая начальный элемент.
Вы можете сделать это, чтобы найти предыдущий < p >
из ввода:
$(this).prev("p").append(element_value + ",-");
Или более явно:
$(this).closest("div.entry").find("p").append(element_value + ",-");
Что не будет зависеть от того, с какой стороны < p >
вход будет включен.
Другие советы
Попробуйте это:
$(this).parents("div.entry").find('p:first').append(element_value + ",-");