11543 sujets

JavaScript, DOM et API Web HTML5

bonjour à tous,
fier d'avoir fini mon premier gros travail en JS, je me heurte à un truc vraiment bête en terme de codage dans une fonction (je ne mets pas tout le script)


function nodeToString(node) {
  ext = node.innerHTML.split('.').pop();
 
  //alert(node.innerHTML +" - "+ node.nodeType + "-" + node.innerHTML.substring(node.innerHTML.indexOf(".")+1));
  //A FINIR : si node.innerHTML.split('.').pop() est PDF, alors hyperlien !
 
   if ((node.nodeType == 2)){
		node.innerHTML;
 
   }
 
 /*   if (node.nodeType == 2)
 return node.value;*/	
 
    if (node.nodeType == 3)
      return node.wholeText;
    if (node.nodeType == 8)
      return "<!--" + node.textContent + "-->";
 
	//Je texte l'extension. SI c'est un PDF, je mets l'hyperlien
	ext = node.innerHTML.split('.').pop().toLowerCase();//retourne TJS l'ex en minuscules !	
	if (ext=='pdf')
	{
			return '<a href="'+node.innerHTML+'" target="_blank" class="lien-vers-PDF">'+node.innerHTML+'</a>';
			//return node.innerHTML;
	}
	else
	{
		return node.innerHTML;
	}
 
  }


la ligne 24
return '<a href="'+node.innerHTML+'" target="_blank" class="lien-vers-PDF">'+node.innerHTML+'</a>';
Le résultat est accessible sur https://www.developpez.net/forums/attachments/p667101d1746252733/javascript/general-javascript/probleme-codage-liens-ne-parle-d-encodage/firefox_ymctxmqfsv.jpg/
Modifié par slhuilli (03 May 2025 - 09:34)
upload/1746289056-16483-firefoxybmhjx0ycc.jpg oups ... oui effectivement j'ai zappé ma question.
j'arrive à écrire la html qui va bien mais le navigateur ne me l'interprete pas, il m'affiche mon code html (il écrit a href... au lieu de m'afficher un lien cliquable) comme le montre la copie d'écran
Modifié par slhuilli (03 May 2025 - 18:17)
Résolu, je n'utilisais pas la bonne méthode de retour.
A la place de
 return $("<div>").text(nodeToString(node)).addClass("node");
j'ai utilisé
return $("<div>").html(nodeToString(node)).addClass("node");

Modifié par slhuilli (03 May 2025 - 18:35)
Meilleure solution