Просмотр полной версии : Обернуть элемент в тег
ivan2006bip
25.10.2012, 12:28
Здравствуйте!
Подскажите пожалуйста, есть меню,
<ul class="menu">
<li class="menu_li"><a href="#">Пункт меню</a></li>
<li class="menu_li"><a href="#">Пункт меню</a></li>
<li class="menu_li"><a href="#">Пункт меню</a></li>
</ul>
нужно обернуть каждое второе слово ссылки в тег <em>
чтобы в итоге получилось
<ul class="menu">
<li class="menu_li"><a href="#">Пункт <em>меню</em></a></li>
<li class="menu_li"><a href="#">Пункт <em>меню</em></a></li>
<li class="menu_li"><a href="#">Пункт <em>меню</em></a></li>
</ul>
как это сделать?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
</head>
<body>
<ul class="menu">
<li class="menu_li">
<a href="#">Пункт меню</a>
</li>
<li class="menu_li">
<a href="#">Пункт меню</a>
</li>
<li class="menu_li">
<a href="#">Пункт меню</a>
</li>
</ul>
<script type="text/javascript">
var ul=document.getElementsByClassName('menu')[0].getElementsByTagName('a'),
ahtml='';
for(var i in ul) {
ahtml=ul[i].innerHTML.split(' ');
if('undefined'!==typeof ahtml) {
ul[i].innerHTML=ahtml[0]+' <em>'+ahtml[1]+'</em>';
}
}
</script>
</body>
</html>
JQuery:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
</head>
<body>
<ul class="menu">
<li class="menu_li">
<a href="#">Пункт меню</a>
</li>
<li class="menu_li">
<a href="#">Пункт меню</a>
</li>
<li class="menu_li">
<a href="#">Пункт меню</a>
</li>
</ul>
<script type="text/javascript">
var ahtml='';
$('.menu a').each(function() {
ahtml=$(this).text().split(' ');
$(this).html(ahtml[0]+' <em>'+ahtml[1]+'</em>');
});
</script>
</body>
</html>
$('.menu a').wrapInner('<em></em>')
bes, это весь текст ссылки обернется.
А надо только 2 слово.
bes, это весь текст ссылки обернется.
А надо только 2 слово.
смотрел бегло, результат налицо :)
if('undefined'!==typeof ahtml)
alert( typeof "".split(" ") );
Вот на jQuery
$('ul.menu li a').each(function (){
all_text = $(this).text();
array_words = all_text.split(' ')
for(word in array_words){
if(word % 2 != 0) {
alert("<em>" + array_words[word] + "</em>")
}
}
});
ivan2006bip
27.10.2012, 00:57
всем спасибо! решено
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot