Как получить содержимое элемента вместе с самим элементом?
Есть тег
<p id="elem" class="cl">aaa</p> Его нужно сохранить в переменную. Полностью, а не одно лишь содержимое. Сейчас делаю так var elem = $('#elem').wrap('<div/>').parent().html() Может быть можно лучше? |
Цитата:
<script src="http://code.jquery.com/jquery-latest.js"></script> <p id="elem1" class="cl">id="elem1"</p> <div id="elem2" class="cl">id="elem2" </div> <!-- cкрытый блок хранения --> <div id="storag" style="display:none"></div> <script type="text/javascript"> function sav_html (selector){ var elem =$('#storag').html($(selector).clone()).html(); return elem; } alert(sav_html ("#elem1")); alert(sav_html ("#elem2")); </script> |
Shitbox2,
Использовать родное свойство outerHTML. Поддерживается всеми современными браузерами (работает даже в ИЕ6 и 7) <script src="http://code.jquery.com/jquery-latest.js"></script> <p id="elem" class="cl">content for id="elem1"</p> <script type="text/javascript"> var elem = $('#elem').get(0).outerHTML; alert(elem); </script> |
Так тоже делал, только в библиотечном коде такое не прокатит, т.к. нельзя гарантировать, что будет блок хранения. Разве что, создать его, но по громоздкости будет больше чем с wrap.
|
Shitbox2,
Цитата:
мон блок задать скриптом <script src="http://code.jquery.com/jquery-latest.js"></script> <p id="elem1" class="cl">id="elem1"</p> <div id="elem2" class="cl">id="elem2" </div> <script type="text/javascript"> var a='<div id="storag" style="display:none"></div>'; $("body").append(a) function sav_html (selector){ var elem =$('#storag').html($(selector).clone()).html(); return elem; } alert(sav_html ("#elem1")); alert(sav_html ("#elem2")); </script> |
Действительно. Даже так работает $('#elem')[0].outerHTML И как сразу не догадался...
Цитата:
|
Часовой пояс GMT +3, время: 05:17. |