Englober un élément en entier
Bonjour, dans le code suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| function LB_findTargets(container, specific_class) {
var elements = $(container).find(specific_class).toArray();
for (var el of elements) {
console.log($(el));
if ($(el).prop("tagName") == "IMG") {
LB_modifyTarget(el, $(el).attr("src"), 'image', $(el));
}
if ($(el).prop("tagName") == "P") {
LB_modifyTarget(el, $(el).attr("src"), 'text', $(el).contents());
}
}
}
function LB_modifyTarget(element, href, data, content) {
$(element).replaceWith('<a href="'+href+'" data-featherlight="'+data+'">'+content+'</a>');
}
$(document).ready(function(){
LB_findTargets("#page_center_content", ".lightbox");
}); |
la ligne 7
Code:
LB_modifyTarget(el, $(el).attr("src"), 'image', $(el));
envoie l'élément $(el) à la fonction LB_modifyTarget(), en tant que paramètre "content", pour génération d'un lien :
Code:
$(element).replaceWith('<a href="'+href+'" data-featherlight="'+data+'">'+content+'</a>');
mais la variable "content" renvoie :
Citation:
[object Object]
J'aimerai donc savoir comment renvoyer l'élément en entier (le code HTML quoi) de l'élément $(el), qui est soit une image, soit un paragraphe (en l'occurence, le test est effectué sur une image).