Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как добавить тег в каждый элемент списка? (https://javascript.ru/forum/jquery/11269-kak-dobavit-teg-v-kazhdyjj-ehlement-spiska.html)

elias 15.08.2010 13:09

Как добавить тег в каждый элемент списка?
 
Здравствуйте :)

У меня такая задача - нужно добавить тег span в начало кажного элемента списка li, то есть <li>тест</li> превратить в <li><span>блок</span>тест</li>
Пытаюсь делать так:
$(document).ready(function(){
	$('#menu li:first-child').before('<span>Test</span>');
});


Пример моего списка:
<ul id="menu">
	<li><a href="#">Категория 1</a>
		<ul>
			<li><a href="#">Субкатегория 1.1</a></li>
			<li><a href="#">Субкатегория 1.2</a></li>
			<li><a href="#">Субкатегория 1.3</a></li>
		</ul>
	</li>
	<li><a href="#">Категория 2</a>
		<ul>
			<li><a href="#">Субкатегория 2.1</a></li>
			<li><a href="#">Субкатегория 2.2</a></li>
		</ul>
	</li>
</ul>


Но тег добавляется в начало содерджимого ul. Помогите, пожалуйста.

chippolino 15.08.2010 13:52

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
	$(function(){
		(li=$('li')).html('<span> test </span>'+li.html());
	});
</script>
<li>тест</li>

Octane 15.08.2010 14:02

Цитата:

Сообщение от chippolino
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
	$(function(){
		(li=$('li')).html('<span> test </span>'+li.html());
	});
</script>
<li>тест</li>

Что за ужасы!?
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script>
$(function(){
    $("#menu li").prepend("<span>блок</span>");
});
</script>
<ul id="menu">
    <li><a href="#">Категория 1</a>
        <ul>
            <li><a href="#">Субкатегория 1.1</a></li>
            <li><a href="#">Субкатегория 1.2</a></li>
            <li><a href="#">Субкатегория 1.3</a></li>
        </ul>
    </li>
    <li><a href="#">Категория 2</a>
        <ul>
            <li><a href="#">Субкатегория 2.1</a></li>
            <li><a href="#">Субкатегория 2.2</a></li>
        </ul>
    </li>
</ul>

elias 15.08.2010 14:18

chippolino, нет, такой вариант не подходит в случае с вложенными категориями. По сути мне нужно перевести на jquery следующий код:
for(i=0; i<elem.getElementsByTagName('li').length; i++){
	temp = document.createElement('span');
	temp.innerHTML = 'test';
	elem.getElementsByTagName("li")[i].insertBefore(temp,elem.getElementsByTagName("li")[i].firstChild);
}

elias 15.08.2010 14:19

Octane, да-да, это именно то что мне нужно, благодарю!


Часовой пояс GMT +3, время: 05:38.