2012-07-03 4 views
0

Что было бы лучшим способом добавить этот элемент и его детей в DOM с помощью jQuery? Предположим, что div, который мне нужно добавить, имеет обертку id.Добавление элементов с помощью jQuery

<div id="menu"> 
<a href="#" id="link1" data-speed="600" data-easing="easeOutBack">About</a> 
<a href="#" id="link2" data-speed="600" data-easing="easeOutBack">Updates</a> 
<a href="#" id="link3" data-speed="600" data-easing="easeOutBack">Producer</a> 
<a href="#" id="link4" data-speed="1000" data-easing="easeInExpo">Performer</a> 
<a href="#" id="link5" data-speed="600" data-easing="easeOutBack">Speaker</a> 
<a href="#" id="link6" data-speed="1000" data-easing="easeInExpo">Endorser</a> 
<a href="#" id="link7" data-speed="1000" data-easing="easeInExpo">Mentor</a> 
<a href="#" id="link9" data-speed="600" data-easing="easeOutBack">Press</a> 
<a href="#" id="link10" data-speed="600" data-easing="easeOutBack">Contact</a> 
</div> 

Кто-нибудь должен помочь?

Спасибо,

Мирко

+2

Добро пожаловать на переполнение стека. Это очень важный вопрос. Мы ожидаем, что вы проведете небольшое количество исследований, прежде чем задавать вопрос. Скорее всего, вы найдете ответ довольно легко через быстрый поиск Google или посмотрите на [jQuery documentation] (http://api.jquery.com) (совет, см. ['Append()'] (http: //api.jquery.com/append)) – Matt

+2

[Что вы пробовали?] (http://www.whathaveyoutried.com/) – void

+0

Да, я знаю, что это просто, но я обеспокоен тем, как добавлять внутренние элементы привязки и их атрибуты. – suludi

ответ

0

попробовать, как этот

$('#menu').append('#yourIdToInclude') 
+1

Это будет работать с элементом, который еще не является частью DOM? Вопрос спрашивает о добавлении ** в DOM **, что означает, что это не так. –

0
$('#menu').appendTo('#elementinwhichtoappend') 
+0

: тот факт, что он хочет ввести некоторые данные в dom внутри ** конкретного элемента **, не исключает * apriori * (кроме дальнейшего разъяснения), что он уже имеет эту разметку, введенную в другое место в dom. В противном случае было бы логично подумать, что он должен иметь разметку, представленную в виде строки (хранимой в переменной) – fcalderan

1
$('<div id="menu">...</div>').appendTo('#wrapper'); 

Просто убедитесь, что HTML в первой части не имеют разрывы строк.

1
$('<div id="menu"> 
<a href="#" id="link1" data-speed="600" data-easing="easeOutBack">About</a> 
<a href="#" id="link2" data-speed="600" data-easing="easeOutBack">Updates</a> 
<a href="#" id="link3" data-speed="600" data-easing="easeOutBack">Producer</a> 
<a href="#" id="link4" data-speed="1000" data-easing="easeInExpo">Performer</a> 
<a href="#" id="link5" data-speed="600" data-easing="easeOutBack">Speaker</a> 
<a href="#" id="link6" data-speed="1000" data-easing="easeInExpo">Endorser</a> 
<a href="#" id="link7" data-speed="1000" data-easing="easeInExpo">Mentor</a> 
<a href="#" id="link9" data-speed="600" data-easing="easeOutBack">Press</a> 
<a href="#" id="link10" data-speed="600" data-easing="easeOutBack">Contact</a> 
</div>').appendTo('#wrapper'); 
+0

Спасибо, это работает. Мне просто нужно было выяснить, что в div #menu не было пробелов. – suludi

0

Предположим, целевой DIV имеет идентификатор target и у вас есть HTML в строку с именем html

$("#target").append(html)

+0

Нет цитат вокруг 'html' - вы просто добавляете фактический строковый html к этому элементу, а не к содержимому переменной' html'. –

+0

@ AnthonyGrist: oops !! починил это. спасибо за указание, что :) –

1

Ну, вы можете использовать метод SOEM делать добавления, но это будет зависеть, где вы хотят, чтобы добавить эти элементы, выглядят следующим образом:

.append(): http://api.jquery.com/append/ Вставить в конец элемента

.prepend(): http://api.jquery.com/prepend/ Вставить в начало элемента

Я надеюсь, что это помогает

+0

Ваши неправильные описания. '.append()' добавляет ** к концу ** элемента, а не после. Аналогично, '.prepend()' добавляет ** к началу ** элемента, а не раньше. –

+0

Да, я правильно, но я знаю, как использовать всех. Извините, мой родной язык не похудит! –