Вы можете изменить свой метод, чтобы использовать создание стиля фрагмента документа и объект для заполнения свойств элементов , например:
var someElement = $("#someElement");
$('<h3 class="infoH3"></h3>').append($('<a />',
{ 'id': menuID,
'href': '#',
click: function() { slideMenu(menuSlider); }
})
).appendTo(someElement);
var div = $('<div />', { 'id': menuSlider, css: {display: 'none'} });
$('<ul />').append('<li>aMenu1</li>')
.append('<li>aMenu2</li>')
.append('<li>aMenu3</li>')
.appendTo(div);
div.appendTo(someElement);
Это совсем другой способ, сначала мы кешируем объект $("#someElement")
, поэтому мы не ищем его повторно. Затем мы создаем <h3>
как объект, помещаем ссылку внутрь, затем вставляем и добавляем все это к someElement
. В последнем, тот же самый подход, он создает <div>
, устанавливает его свойства, затем создает меню <ul>
и добавляет его внутрь ... затем добавляет весь этот div к someElement
.
В качестве примечания, я не уверен, как работает .slideMenu()
, но обработчик событий, который работает через $(this).parent().next()
(или дает классу div), также будет работать, и вам не понадобится функция с переданным аргументом слайдера.