Jak korzystać z outerHTML w JavaScript? DziękiJak korzystać z outerHTML w JavaScript?
Odpowiedz
ExternalHTML jest kodem HTML elementu zawierającego sam element. Porównaj to z innerHTML elementu, który jest HTMLem zawartym w znacznikach otwierających i zamykających elementy. Z definicji elementy bez tagów otwierających i zamykających nie mają wewnętrznego HTML.
Użyj outerHTML, aby całkowicie zastąpić element i jego zawartość. Użyj innerHTML, gdy chcesz tylko zastąpić zawartość elementu.
outerHTML
to niestandardowa właściwość elementu programu Internet Explorer. Zwraca on html elementu i jego elementów potomnych. W niektórych przypadkach można go ustawić tak, aby całkowicie zastąpił element łańcuchem html.
Rok później Chrome i Safari również wydają się implementować tę funkcję. Jednak w czasie pisania tego Firefox go nie obsługuje. –
Obsługa [zewnętrznegoHTML] (https://developer.mozilla.org/en/DOM/element.outerHTML) została dodana w [Firefox 11] (https://developer.mozilla.org/en/Firefox_11_for_developers). –
Być może spójrz na jQuery i jego funkcje prepend() i append().
http://api.jquery.com/prepend/
powinien działać we wszystkich przeglądarkach.
Również ten plugin:
http://yelotofu.com/2008/08/jquery-outerhtml/
To powinno obejmować pobieranie i ustawienie.
będzie Ci zawartość wewnątrz elementu.
function getHTML(node){
if(!node || !node.tagName) return '';
if(node.outerHTML) return node.outerHTML;
// polyfill:
var wrapper = document.createElement('div');
wrapper.appendChild(node.cloneNode(true));
return wrapper.innerHTML;
}
Interesujący pomysł. Jednak ponieważ większość przeglądarek, które nie obsługują zewnętrznego protokołu HTTML, obsługuje prototypowanie w HTMLElement, zastanawiam się, czy łatwiej byłoby go zaimplementować pseudo-natywnie? – scunliffe
Większość najpopularniejszych przeglądarek obsługuje outerHTML. Firefox jest wyjątkiem. Aby uzyskać więcej informacji na temat obsługi przeglądarek zewnętrznych HTML, odwiedź: http://www.quirksmode.org/dom/w3c_html.html.
Jeśli możesz dodać jQuery do swojej strony, polecam dołączyć wtyczkę jQuery outerHTML.
Możesz to sprawdzić: http://stackoverflow.com/questions/2474605/how-to-convert-a-htmlelement-to-a-string –
Możliwy duplikat [Jak przekonwertować HTMLElement na ciąg znaków ] (https://stackoverflow.com/questions/2474605/how-to-convert-a-htmlelement-to-a-string) – Graham