Podmiana znacznika span na div bez zmiany zawartości

0

Witam,

Pytanie może głupie ale zapewne proste. Tak jak w temacie chciałbym za pomocą javascript-u podmienić znacznik span na div bez usuwania jego zawartości. Czy jest taka możliwość?

2

Pisane z palca, do pomocy zaprzęgniete jQuery:

var sourceToBeReplaced = $("#source-to-be-replaced");
sourceToBeReplaced.replaceWith($("<div>").html(sourceToBeReplaced.html()));

Po co chcesz podmieniać jeden tag na drugi? Oba to tylko elementy html, możesz je ostylować tak samo i będą się zachowywać identycznie.

0

Dzięki za odpowiedź. Chcę to zmienić ze względu na błąd wynikający z konieczności zamieszczania znaczników div wewnątrz span. Strona stoi na platformie IAI i nie mogę ręcznie tego zmienić.

Mam jednak jeszcze pytanie. Czy jest opcja by to zrobić bez dodatkowych bibliotek? System i tak już jest zaśmiecony imo.

EDIT. Doprecyzuje tylko iż chodzi mi o konkretny span posiadający klasę.

1
var div = document.createElement('DIV');
var span = deocument.getElementById('twojspan');
div.innerHTML = span.innerHTML;
span.parentNode.insertBefore(div, span);
span.parentNode.removeChild(span);

Nie testowane, tak na oko

1

Żeby podmienić przez js znacznik span na div, to drzewo DOM i tak musi być załadowane, więc divy muszą być już umieszczone w span. To oznacza, że "błąd" i tak poleci. Ten błąd to tak naprawdę warning, bo każda przeglądarka i tak pokaże prawidłowy wynik - span nie zostanie zignorowany. Z tego powodu Twoja zmiana nic nie poprawi, a tylko wydłuży proces renderowania strony.

0

No trudno. Dziękuję raz jeszcze ze odpowiedzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1