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

Foi útil?

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 + ",-");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top