как взять html() сам объект на который вешаем
<div id='qqq'><span>123</span></div> var qqq = $('#qqq').html() В переменную поподёт только <span>123</span>, а нужно чтобы попало всё! <div id='qqq'><span>123</span></div> |
Есть $('#qqq')[0].outerHTML, но оно не работает в старых FireFox.
В ряде случаев можно использовать $('<div/>').append($('#qqq').clone()).html() Но это медленно. Если нужна скорость, то лучше скомбинировать эти два решения. |
qwermjk,
<!DOCTYPE HTML> <html> <head> <title></title> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div id='qqq'><span>123</span></div> <script type="text/javascript"> var div = $('<div/>') $('#qqq').clone().appendTo(div) alert(div.html()) </script> </body> </html> |
не то, нужно поместить это в переменную в текстовом формате (html), а с помощью clone возвращает объект
|
qwermjk, а кнопочку Посмотреть не изволите ли нажать?
Не знаю че там видите Вы, но мне выдало: <div id="qqq"><span>123</span></div> Чем это не "текстовый формат"? Какое вам дело до того, что возвращает clone(), используемая где-то в середине ? |
На всякий случай поясню (чувствую без пояснения вы не поймете):
У меня теже яйца что и у рони, только |
qwermjk,
<!DOCTYPE HTML> <html> <head> <title></title> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div id='qqq'><span>123</span></div> <div class="content" ></div> <script type="text/javascript"> $('.content').text($('<div/>').append($('#qqq').clone()).html()) alert($('.content').text()); </script> </body> </html> |
Цитата:
|
У себя код скопировал, работает, а вот без дополнительного дива нельзя?
Да и я не правильно выразился, чтобы не как текст был, а работал как html если его вставить!!! |
qwermjk,
вставляйте как html будут элементы, если text будет текст. А с оперой действительно не посмотреть! хмм???. |
Цитата:
![]() |
Цитата:
Ессессно, не кроссбраузерно. |
Цитата:
12.13 Сборка: 1734 Платформа: Win32 Система: Windows 7 |
Цитата:
да ладно, я уже через массив загнал нужные данные которые в родительском теге храняться и в переменную их записал!! Не хотел конечно же так делать, так как забуду обновить, если ещё что то в тег добавлю! выглядит примерно так for(i=0; i<chat_mas.length; i++){ text_mas += '<div class="chat_user" iduser="'+chat_mas[i][0]+'" percent="'+chat_mas[i][1]+'" status="'+chat_mas[i][2]+'">'+chat_mas[i][3]+'</div>'; } |
qwermjk, все тоже самое. Только винда у меня 64битная, но в about инфа таже самя (включая Платформа: Win32)
Цитата:
<div id="test" class="hello">Inner Text</div> <script> var html = test.outerHTML || new XMLSerializer().serializeToString(test); alert(html); </script> |
Цитата:
<!DOCTYPE HTML> <html> <head> <title></title> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div id='qqq'><span>123</span></div> <script type="text/javascript"> var ReturnThisHTML = (function( b ){ return function(obj) { b.innerHTML=""; b.appendChild(obj); return b.innerHTML; } })( document.createElement( 'b' ) ); alert(ReturnThisHTML( $('#qqq').clone().get(0)) ) alert(ReturnThisHTML( $('#qqq').find('span').clone().get(0)) ) </script> </body> </html> <script src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script> <div class="xxx">asfasdddf</div> <script> var ReturnOuterHTML = (function( b ){ return function(obj) { b.innerHTML=""; b.appendChild(obj.clone()[0]); return b.innerHTML; } })( document.createElement( 'b' ) ); $.fn.ohtml = function(){ return ReturnOuterHTML(this); } alert($('.xxx').ohtml()); </script> |
Deff, ну ты и фокусник. А если несколько раз вызывать?
|
danik.js,
Поправил |
Часовой пояс GMT +3, время: 02:46. |