Fonction Javascript dans une balise HTML générée par javascript

Dupliquer possible:
Créer un lien avec javascript

J’essaie de mettre une fonction dans une balise HTML générée par javascript.

Ce que j’ai

 var html = ''; html += '';  

showBlock("#idTextBlocks"); est la fonction JQuery qui prend l’identifiant du composant qui doit être affiché une fois le lien cliqué.

 function showBlock(id) { $(id).show('slow'); } 

Le problème est que cela ne fonctionne pas. Il est généré dans:

 Show Text Blocks 

J’ai essayé de changer les guillemets en ' singe: onclick="showBlock('#idTextBlocks'); mais cela rompt tout mon javascript.

La question est donc de savoir comment passer correctement une fonction dans l’atsortingbut onclick la balise HTML si la balise elle-même est générée avec javascript?

Utilisez " pour ça:

J’ai rencontré le même problème et je l’ai corrigé en remplaçant " par " , ce qui est plus sûr que d’utiliser \" .

  

Vous devez utiliser une combinaison de devis simples et doubles

changement

 onclick="showBlock("#idTextBlocks");" 

à

 onclick="showBlock('#idTextBlocks');" 

Au lieu de passer id à function, vous pouvez accéder à l’élément requirejs dans funciton comme ceci,

 function showBlock() { $('#idTextBlocks').show('slow'); } 

Vous utilisez quand même jQuery:

 var $content = $('
') .append('', { href: '#', click: function() { showBlock('#idTextBlocks'); }, text: 'Show Text Block' });

Maintenant, vous pouvez append / append du $content où vous voulez.

 html = ''; 

Essayez de supprimer l’opérateur + lors de l’insertion de valeur dans votre variable html. Il n’a pas de sens puisque vous venez de déclarer html comme une chaîne vide, en particulier une chaîne de texte. (+ = l’opérateur est le plus souvent utilisé pour append de la valeur à une valeur précédente, par exemple

 a = 1; a += 2; alert(a) //alerts 3 

Essaye ça: