Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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).
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
Para fazer o que você deseja, basta fazer assim:
{ {