Jump to content
  • 0

Как обернуть в span первое слово


glazkoff
 Share

Question

Помогите полному юзеру в безнадежном для меня деле(((

Нужно обернуть в span первое слово, либо первые два символа в li-шке

<ul>
<li class="cat_level_1">
<a href="#">01 Первая категория</a></li>
<li class="cat_level_1">
<a href="#">02 Первая категория 2</a></li>
<li class="cat_level_1">
<a href="#">03 Первая категория 3</a></li>
</ul>

Заранее спасибо

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

как по мне так нумерацию лучше генерировать.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>list numeration</title>
<script type="text/javascript">
function initScript(){
var list = document.getElementsByTagName('ul');
var lis = document.getElementsByTagName('li');

if (list){
for (var i = 0; i < list.length; i++){
var arrayLi = [];
for (var j = 0; j < lis.length; j++){
if (lis[j].parentNode ==list[i]) arrayLi.push(lis[j]);
}
for (var k = 0; k < arrayLi.length; k++){
arrayLi[k].innerHTML = '<span>' + (k + 1) + '</span>' + arrayLi[k].innerHTML
}
}
}
}

if(window.addEventListener)window.addEventListener("load",initScript,false);
else if(window.attachEvent)window.attachEvent("onload",initScript);
</script>
</head>
<body>
<ul class="list">
<li>text text text</li>
<li>text text text</li>
<li>text text text</li>
<li>text text text</li>
<li>text text text</li>
</ul>
<ul class="list">
<li>text text text
<ul class="list">
<li>text text text</li>
<li>text text text</li>
<li>text text text</li>
</ul>
</li>
<li>text text text</li>
<li>text text text
<ul class="list">
<li>text text text</li>
<li>text text text</li>
<li>text text text</li>
</ul>
</li>
<li>text text text</li>
<li>text text text
<ul class="list">
<li>text text text</li>
<li>text text text</li>
<li>text text text</li>
</ul>
</li>
</ul>
</body>
</html>

Link to comment
Share on other sites

  • 0

А я бы попроще сделал

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>

<body>
<ul id="ul">
<li class="cat_level_1">
<a href="#">01 Первая категория</a>
</li>
<li class="cat_level_1">
<a href="#">02 Первая категория 2</a>
</li>
<li class="cat_level_1">
<a href="#">03 Первая категория 3</a>
</li>
</ul>
<script type="text/javascript">
var aLink = document.getElementById('ul').getElementsByTagName('a');
for(var i=0;i<aLink.length;i++){
aLink[i].innerHTML = aLink[i].text.replace(/^(\d+)\s/,'<span>$1 </span>');
}
</script>
</body>
</html>

Link to comment
Share on other sites

  • 0
А если первым словом не цифры будут?

Ну вроде речь шла именно о числах.

А вообще можно немножко переписать регулярочку и всё

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>

<body>
<ul id="ul">
<li class="cat_level_1">
<a href="#">fg Первая категория</a>
</li>
<li class="cat_level_1">
<a href="#">fg Первая категория 2</a>
</li>
<li class="cat_level_1">
<a href="#">03 Первая категория 3</a>
</li>
</ul>
<script type="text/javascript">
var aLink = document.getElementById('ul').getElementsByTagName('a');
for(var i=0;i<aLink.length;i++){
aLink[i].innerHTML = aLink[i].text.replace(/^\s?([a-zA-Z0-9]+)\s/,'<span>$1 </span>');
}
</script>
</body>
</html>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy