2010-01-02 1 views
0

В основном я хочу добавить <span></span> внутри тега привязки, но за пределами «дома». Я думаю, это должно быть легко, но я только начал использовать jQuery.Как добавить элементы внутри тега привязки и вставить слово с помощью JQuery?

Так что:

<li class="home"><a href="index.php">home</a></li> 

Если в конечном итоге, как это с Jquery:

<li class="home"><a href="index.php"><span>home</span></a></li> 

Мой HTML:

<ul id="navigation"> 
    <li class="home"><a href="index.php">home</a></li> 
    <li class="portfolio"><a href="portfolio.php">portfolio</a></li> 
    <li class="about"><a href="about.php">about</a></li> 
    <li class="contact"><a href="contact.php">contact</a></li> 
    </ul> 

Мой CSS:

ul#navigation { 
height: 20px; 
float: left; 
list-style: none; 
width: 100%; 
} 
ul#navigation li { 
float: left; 
margin: 0 4px 0 0; 
} 
ul#navigation li a { 
background: url(../images/tab.png); 
color: #C0C0C0; 
display: block; 
float: left; 
font-size: 14px; 
height: 20px; 
outline: none; 
padding-left: 10px; 
text-decoration: none; 
} 
ul#navigation li a:hover { 
background-position: 0 -20px; 
color: #666; 
} 
#home li.home a, #portfolio li.portfolio a{ 
background-position: 0 -20px; 
color: #666; 
} 
ul#navigation span { 
background: url(../images/tab.png) 100% 0; 
display: block; 
line-height: 20px; 
padding-right: 20px; 
} 
ul#navigation li a:hover span { 
background-position: 100% -20px; 
} 
#home li.home span, #portfolio li.portfolio span { 
background-position: 100% -20px; 
} 

Мои JS:

$(document).ready(function() { 
    $('li.home a').wrapInner('<span></span>') 
}); 
+0

есть способ сказать JQuery: пролетных обертка теги вокруг любого текста, который находится внутри тегов привязки? – alexchenco

+0

который является правилом css, которое не работает? – naivists

+0

Его ОК сейчас, я просто изменил li.home a to ul # navigation li a – alexchenco

ответ

8
$("li.home a").wrapInner("<span></span>") 

Как-то StackOverflow очищает мою разметку. В вызове 'wrap' должно быть <span></span>.

+0

Извините, но обертывает теги span вокруг тегов привязки, но не внутри них. – alexchenco

+2

Извините, непонятый вопрос. Затем вам понадобится wrapInner(), см. Http://docs.jquery.com/Manipulation/wrapInner#html – naivists

+0

@jano - wrapInner() будет делать то, что вы хотите. – womp

1

Попробуйте это:

$('.home a').each(function(){ 
    var content = $(this).html(); 
    $(this).html('<span>'+content+'</span>'); 
}); 
+0

он почти работал, но он выглядел следующим образом: « [object Window]" – alexchenco