wie tatsächlichen Inhalt eines Objekt zu erhalten, nachdem replaceWith zu sein ( ‚etwas‘) in jquery
-
01-10-2019 - |
Frage
Ich habe diesen Code
$(document).ready(function(){
$('.selector').click(function(){
obj = $(this);
obj.replaceWith('<div class="size">whats up man ??!</div>');
alert(obj.html());
});
});
Ich mag den neuen Inhalt von ‚obj‘ erhalten, wurde ‚replaceWith‘
, sondern
ich den alten Inhalt statt ...
Wie bekomme ich den eigentlichen Inhalt von 'obj' ???
meine Absicht ist es, die neue 'obj'
zuzugreifen$('.selector').click(function(){
var obj = $(this),
repl = $('<div class="size">whats up man ??! <span class="medium"></span></div>');
obj.replaceWith(repl);
alert(obj.find('span').attr('class')); //this will print 'undefined'
});
Ich will den Klassennamen der ‚Spanne‘ drucken, das ist ‚mittel‘
Lösung
Ihre aktualisierte Methode die richtige ist, muss nur ein zwicken wie folgt aus:
$('.selector').click(function(){
var obj = $(this),
repl = $('<div class="size">whats up man ??! <span class="medium"></span></div>');
obj.replaceWith(repl);
alert(repl.find('span').attr('class'));
});
Sie können es testen hier aus. Die wichtige Änderung ist die repl.find()
in dem neuen Elemente zu suchen, anstatt die alten.
Andere Tipps
Warum wollen Sie das tun? Sie wissen, was Sie ersetzt es mit ....
$(document).ready(function(){
$('.selector').click(function(){
var obj = $(this);
var replacement = $('<div class="size">whats up man ??!</div>');
obj.replaceWith(replacement);
alert(replacement.html());
});
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow