Pregunta

Hola, estoy intentando algo ... estaba leyendo Jquery recorriendo documentaciones en algunos foros, en este sitio web se hicieron preguntas relacionadas con este tema ... ninguno responde a mi pregunta, por lo que preguntaré ... aquí está el acuerdo

  <div class="entry">
week
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />

</div>

Así que he usado un bucle while para crear un montón de estos, así que no tengo que copiarlos manualmente pegándolos ... asp los genera ... ahora ves la sección p que dice DKK ... ahora en orden para mí no escribir todo manualmente Me gustaría que todos los divs, p se agregaran con el valor de entrada dentro de ese div, ahora esto es lo que hice con Jquery

$(document).ready(function() {
     $("input").each(function () {
                 var element_value = $(this).val();
                 $(this).closest("p").append(element_value + ",-");
                  }); 
 }); 

Entonces, lo que intenté hacer es ir a través de cada entrada y recopilar su valor, luego encontrar la etiqueta p más cercana y agregarla con su valor, ahora el resultado correcto para este ejemplo sería

<p>DKK 75,-<p>

porque el valor de entrada es 75 y se ha incluido en la función de agregar, agregue que también, este código no funciona, sin embargo, si lo puse

$(this).parents("div.entry").append(element_value + ",-");

instead of

$(this).closest("p").append(element_value + ",-");

Los resultados correctos aparecen pero no exactamente donde los quiero ... espero que alguien pueda ayudarme, gracias

¿Fue útil?

Solución

Si lees la documentación más cercana () verás que solo mira hacia arriba, no hacia los lados:

  

Obtenga un conjunto de elementos que contengan el elemento primario más cercano que coincida con el selector especificado, incluido el elemento inicial.

Puede hacer esto para encontrar el < p > anterior desde la entrada:

$(this).prev("p").append(element_value + ",-");

O una más explícita:

$(this).closest("div.entry").find("p").append(element_value + ",-");

Lo que no dependería de qué lado del < p > está la entrada.

Otros consejos

Prueba esto:

$(this).parents("div.entry").find('p:first').append(element_value + ",-");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top