2010-11-06 4 views
2

Вот некоторые простые примеры того, что я пытаюсь сделать:Получить содержание DOM элемента без родителя с помощью JQuery

$("<li>Foo</li>") 
    => "Foo" 
$("<li><span>Foo</span></li>") 
    => <span>Foo</span> 
$('<li class="foo"><div>Foo</div><div>Bar</div></li>') 
    => <div>Foo</div><div>Bar</div> 

Я знаю о get() метода JQuery, но это только дает мне <li> элементов, входящих, слишком. A .children().get() не работает (по крайней мере, в первом случае). Есть ли простой способ достичь этого (со встроенными методами jQuery)?

ответ

4
$("<li>Foo</li>").html() 
$("<li><span>Foo</span></li>").html() 
$('<li class="foo"><div>Foo</div><div>Bar</div></li>').html() 
+0

Это именно то, что я пытался архивировать, спасибо. – Zardoz

2

Чтобы получить ребенок узла, включая текстовые узлы, использовать contents() метод вместо children().

+0

+1 - Я думаю, что это обобщенное решение, которое ищет OP. –

+0

Даже если теперь он работает с методом html(), я все еще спрашиваю себя, как именно содержимое() работает точно. Я также пробовал этот метод раньше, но когда я делаю $ ('

  • Foo
  • ') .contents(). Get() Я до сих пор не получаю результаты моего примера. – Zardoz

    Смежные вопросы