2013-02-10 5 views
0

У меня есть следующий HTML содержание:Как клонировать содержимое html с помощью jquery?

<div data-test='sectionA'> 
    <input type="text" /> 
    <strong>sfdsfds</strong> 
    <p>dffdfdsf</p> 
</div> 

Мне нужно клонировать только strong и p элементы содержимого HTML выше. Вот моя попытка:

Сначала мне нужно определить раздел:

if($("div").data("test") == "sectionA") 
{ 
    $(this).children().not("input").each(function() 
    { 
      alert($(this).html().clone()); 
      /* firefox says clone is not a function 
       and I'm not getting <strong>dfadfa</strong> 
       or the <p>sfdasdfsd</p> clone copy */ 

     }); 
} 
+0

Я не привык к JQuery, но я думаю, что '.html()' возвращает строку. И вы можете клонировать только HTML-элементы, а не строки. Попробуйте удалить эту функцию – Oriol

+0

'html' возвращает строку, а не узлы/объекты, поэтому вам нечего клонировать. –

+0

копия клонов должна была быть частью комментария –

ответ

1
var $div = $("div[data-test=sectionA]"); 
var $strong = $('strong', $div).clone(); 
var $p = $('p', $div).clone(); 
Смежные вопросы