как взять 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, время: 04:14. |