Pergunta
Olá, eu estou tentando alguma coisa .. Eu estava lendo Jquery documentações deslocamento alguns fóruns, este Web site anteriormente perguntas relativas este assunto .. ninguém realmente responde a minha pergunta, então eu vou pedir, em vez .. aqui está o negócio
<div class="entry">
week
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />
</div>
Então, eu usei um loop while para criar grupo destes, então eu não tenho que manualmente copiar colá-los .. asp gera-los .. agora você consulte a seção p diz DKK .. agora para que eu não escrever tudo manualmente gostaria cada divs, p anexar com o valor de entrada interior que div, agora aqui é o que eu fiz com jQuery
$(document).ready(function() {
$("input").each(function () {
var element_value = $(this).val();
$(this).closest("p").append(element_value + ",-");
});
});
Então, o que eu tentei fazer é ir trough cada entrada e recolher o seu valor, em seguida, encontrar mais próximo tag p e anexá-lo com o seu valor, agora o resultado correto para este exemplo acima seria
<p>DKK 75,-<p>
porque o valor de entrada é de 75 e incluiu em função de acréscimo, - acrescentar que, bem, este código não está funcionando, no entanto se eu colocar
$(this).parents("div.entry").append(element_value + ",-");
instead of
$(this).closest("p").append(element_value + ",-");
Os resultados corretos aparecem, mas não exatamente onde eu quero que eles .. espero que alguém pode me ajudar, obrigado
Solução
Se você ler a documentação para mais próximo () você verá que só olha para cima, não para os lados:
Obter um conjunto de elementos que contêm o elemento pai mais próximo que combina com o seletor especificado, o elemento de partida incluído.
Você pode fazer isso para encontrar o <p>
anterior a partir da entrada:
$(this).prev("p").append(element_value + ",-");
Ou um mais explícito:
$(this).closest("div.entry").find("p").append(element_value + ",-");
Qual seria, então não depende de que lado da <p>
a entrada passa a ser on.
Outras dicas
Tente isto:
$(this).parents("div.entry").find('p:first').append(element_value + ",-");