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?
"
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: