comment obtenir le contenu réel d'un objet après avoir été replaceWith ( « quelque chose ») dans jquery
-
01-10-2019 - |
Question
Je le code
$(document).ready(function(){
$('.selector').click(function(){
obj = $(this);
obj.replaceWith('<div class="size">whats up man ??!</div>');
alert(obj.html());
});
});
Je veux obtenir le nouveau contenu de « obj » qui a été « replaceWith »
je reçois l'ancien contenu à la place ...
Comment puis-je obtenir le contenu réel de 'obj' ???
mon intention est d'accéder à la nouvelle 'obj'
$('.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'
});
Je veux imprimer le nom de classe de la « durée » qui est « moyen »
La solution
Votre méthode mise à jour est correcte, juste besoin d'un coup sec comme ceci:
$('.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'));
});
Vous pouvez le tester ici . Le changement important est le repl.find()
de regarder dans le nouvel élément à la place de l'ancien.
Autres conseils
pourquoi voulez-vous faire? vous savez ce que vous avez remplacé avec ....
$(document).ready(function(){
$('.selector').click(function(){
var obj = $(this);
var replacement = $('<div class="size">whats up man ??!</div>');
obj.replaceWith(replacement);
alert(replacement.html());
});
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow