Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Добавление HTML кода после элемента (https://javascript.ru/forum/jquery/51831-dobavlenie-html-koda-posle-ehlementa.html)

Гаджи 21.11.2014 09:52

Добавление HTML кода после элемента
 
Привет. Есть такой код меню от Joomla

<div class="moduletable_u_menu">
	<ul class="nav menu">
		<li class="deeper parent"><a href="#">HOME</a>
			<ul class="nav-child unstyled small">
				<li><a href="#">Sub-Menu 1</a></li>
				<li><a href="#">Sub-Menu 2</a></li>
				<li><a href="#">Sub-Menu 3</a></li>
			</ul>
		</li>
		<li><a  href="#">ABOUT</a></li>
		<li class="deeper parent"><a  href="#">1</a>
		</li>
		<li class="current active"><a  href="#">BLOG</a></li>
		<li><a  href="#">CONTACT</a></li>
	</ul>
</div>


Хочу после DIV блока с классом moduletable_u_menu поставить такой HTML код
<a id="touch-menu" class="mobile-menu" href="#">Menu</a>



Делаю так, но что-то не получается. jquery подключен. Что не так делаю?

$(document).ready(function(){ 

	$(".moduletable_u_menu").after("<a id="touch-menu" class="mobile-menu" href="#">Menu</a>");

	var touch 	= $('#touch-menu');
	var menu 	= $('.menu');

	$(touch).on('click', function(e) {
		e.preventDefault();
		menu.slideToggle();
	});
	
	$(window).resize(function(){
		var w = $(window).width();
		if(w > 767 && menu.is(':hidden')) {
			menu.removeAttr('style');
		}
	});

});

Гаджи 21.11.2014 10:04

Обычный текст добавляется, а код нет. Может какие-то символы дополнительно экранировать нужно?

Гаджи 21.11.2014 10:21

Получилось. Без кавычек написал и заработало.

$(".moduletable_u_menu").after("<a id=touch-menu class=mobile-menu href=#>Menu</a>");

biperch 22.11.2014 02:05

От беда, а в одинарные просто нельзя было?
$(".moduletable_u_menu").after('<a id="touch-menu" class="mobile-menu" href="#">Menu</a>');

trikadin 22.11.2014 04:33

Гаджи, ну логично, что кавычки надо было экранировать. Экранируются обратным слэшем: str="My string with quotes: \"\"\""

Или одинарные поставить, да.


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