Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Присвоение класса определенного класса тегу (https://javascript.ru/forum/css-html/64712-prisvoenie-klassa-opredelennogo-klassa-tegu.html)

Sowenak 31.08.2016 12:47

Присвоение класса определенного класса тегу
 
Есть меню,
<li id="menu-item-957" class="menu-item"><a href="http://">Текст1</a>
<ul class="sub-menu">
	<li id="menu-item-958" class="menu-item"><a href="http://">Текст2</a></li>
	<li id="menu-item-959" class="menu-item"><a href="http://">Текст3</a>
	<ul class="sub-menu">
		<li id="menu-item-963" class="menu-item"><a href="http://">Текст4</a></li>
		<li id="menu-item-964" class="menu-item"><a href="http://">Текст5</a></li>
	</ul>
        </li>
</ul>
</li>

Меню генерируется цмской. Стоит задача второй класс sub-menu заменить на класс sub-menu1. Я предполагаю это можно сделать через js (видел схожие темы на форуме), но если честно не знаю как это сделать. Надеюсь на вашу помощь

ksa 31.08.2016 15:16

Цитата:

Сообщение от Sowenak
второй класс sub-menu заменить на класс sub-menu1

Второй "по счету" или "по вложению"?

Sowenak 01.09.2016 08:52

Цитата:

Второй "по счету" или "по вложению"?
По вложению так сказать "sub-sub-menu" :)

рони 01.09.2016 09:22

Sowenak,
для чего нужна смена класса, может в css что - то изменить?

Sowenak 01.09.2016 09:32

Цитата:

Сообщение от рони (Сообщение 427348)
Sowenak,
для чего нужна смена класса, может в css что - то изменить?

Изначально при разработке сайта не были запланированы подменю. В css указано расположение меню, стрелочка добавлена бордом, у подменю соответственно должны быть эти данные тругими. Понятно что можно было бы стайлами отредактировать то что надо, но само меню генерится ЦМСкой.

ksa 01.09.2016 09:35

Цитата:

Сообщение от Sowenak
По вложению

Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.sub-menu1 {
	border: 1px solid;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<ul>
	<li id="menu-item-957" class="menu-item"><a href="http://">Текст1</a>
		<ul class="sub-menu">
			<li id="menu-item-958" class="menu-item"><a href="http://">Текст2</a></li>
			<li id="menu-item-959" class="menu-item"><a href="http://">Текст3</a>
			<ul class="sub-menu">
				<li id="menu-item-963" class="menu-item"><a href="http://">Текст4</a></li>
				<li id="menu-item-964" class="menu-item"><a href="http://">Текст5</a></li>
			</ul>
				</li>
		</ul>
	</li>
</ul>
<script type='text/javascript'>
	var o=document.querySelectorAll('.sub-menu .sub-menu')
	for (var i=0; i<o.length; i++) {
		o[i].className='sub-menu1'
	}
</script>
</body>
</html>

Но лучше таки сразу генерить нормальный контент. ;)

Sowenak 01.09.2016 09:42

Спасибо! костыль работает!) А по поводу:
Цитата:

Сообщение от ksa (Сообщение 427351)
Но лучше таки сразу генерить нормальный контент. ;)

Совет отличный, но нужна была заплатка максимально срочно, дальше буду конечно ковырять пхп


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