Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Elbrinner

Adicionar tag despois de Li a con Jquery

Recommended Posts

Eu tenho este codigo

   <script>
 $(document).ready(function(){ 
 	$("#menu li a").prepend("<span>"); 
 	$("#menu li a").append("</span>");
  });
	</script>

Com este menu

 

<div id="menu">
<ul class="menu">
<li><a href="#nogo">Home</a></li>
<li class="current"><a href="#nogo">Privacy Policy</a></li>
<li><a href="#nogo">Products</a></li>
<li><a href="#nogo">Where to find us</a></li>
<li><a href="#nogo">Contact us</a></li>
<li><a href="#nogo">Search</a></li>
</ul>
</div>

O resultado é este:

 

<li>
<a href="#nogo">
<span/>
Products
</a>
</li>

Se coloco a tag sem fecha ela aparece.

 

Sou novo neste mundo do jquery. O que estou fazendo errado?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fazer o que você deseja, basta fazer assim:

<script type="text/javascript">
$(document).ready(function()
{ 
    $("#menu li a").append("<span></span>"); 
});
</script>
Se você quiser adicionar algo dentro do <span>, basta colocar o conteúdo ali dentro do <span> mesmo:

<script type="text/javascript">
$(document).ready(function()
{ 
    $("#menu li a").append("<span>Conteúdo</span>"); 
});
</script>
Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho quem não Paulo.

 

Pelo que li da documentação, append(), adiciona no final do conteúdo do seletor.

 

Para colocar um elemento dentro de outro, use wrap()

 

Veja os exemplos que você vai ver.

 

Pelo seu exemplo, Paulo, o resultado seria:

 

<ul id="menu"><li><a href="#">Item</a><span><span></li></ul>
Enquanto, com wrap():

 

<ul id="menu"><li><a href="#"><span>Item</span></a></li></ul>
Assumindo, é claro, o seletor $('#menu li a')

 

Só atente para as normas XHTML, já que, por exemplo, uma DIV não entra numa âncora (não é seu caso).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então meu caro Imaggens, você disse certo, porém interpretou errado... http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif

 

O append( ) adiciona ao final do conteúdo, sendo assim, meu exemplo ficaria assim:

<ul id="menu"><li><a href="#">Item<span></span></a></li></ul>
Só essa pequena correção, indicando que o <span> vai parar dentro do link, após o final do seu conteúdo atual, que no exemplo é a palavra "Item". Se dentro do link tivésemos algo assim:

<ul id="menu"><li><a href="#"><span>Item</span></a></li></ul>
O resultado seria isso:

<ul id="menu"><li><a href="#"><span>Item</span><span></span></a></li></ul>
Percebe a diferença?

 

Agora, voltando ao caso do nosso amigo, realmente o uso do wrap( ) é o mais indicado se o objetivo é envolver o conteúdo que está dentro do link. Eu não tinha entendido direito o que ele queria exatamente...

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.