JQuery come accedere a divs < p > tag e aggiungerlo
Domanda
Ciao, sto provando qualcosa .. Stavo leggendo documentazioni sui forum di Jquery, questo sito web in precedenza aveva posto domande relative a questo argomento .. nessuno in realtà risponde alla mia domanda, quindi chiederò invece .. ecco l'affare
<div class="entry">
week
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />
</div>
Quindi ho usato un ciclo while per creare un mucchio di questi, quindi non devo copiarli manualmente .. asp li genera .. ora vedi la sezione p che dice DKK .. ora per me per non scrivere tutto manualmente vorrei ogni div, p da aggiungere con il valore dell'input all'interno di quel div, ora ecco cosa ho fatto con Jquery
$(document).ready(function() {
$("input").each(function () {
var element_value = $(this).val();
$(this).closest("p").append(element_value + ",-");
});
});
Quindi quello che ho provato a fare è esaminare ogni input e raccogliere il loro valore, quindi trovare il tag p più vicino e aggiungerlo con il suo valore, ora il risultato corretto per questo esempio sopra sarebbe
<p>DKK 75,-<p>
poiché il valore di input è 75 ed è stato incluso nella funzione append, - aggiungi anche questo codice non funziona, tuttavia se lo metto
$(this).parents("div.entry").append(element_value + ",-");
instead of
$(this).closest("p").append(element_value + ",-");
I risultati corretti appaiono ma non esattamente dove li voglio .. speriamo che qualcuno mi possa aiutare, grazie
Soluzione
Se leggi la documentazione per il più vicino () vedrai che guarda solo verso l'alto, non lateralmente:
Ottieni un set di elementi contenente l'elemento padre più vicino che corrisponde al selettore specificato, incluso l'elemento iniziale.
Puoi farlo per trovare il < p >
precedente dall'input:
$(this).prev("p").append(element_value + ",-");
O più esplicito:
$(this).closest("div.entry").find("p").append(element_value + ",-");
Che quindi non dipenderebbe da quale lato del < p >
sembra che l'input sia attivo.
Altri suggerimenti
Prova questo:
$(this).parents("div.entry").find('p:first').append(element_value + ",-");