Dans ma fonction js, je crée a div and a link
, lorsque je clique sur le lien, je transmettrai un paramètre à une autre fonction js. Qu’est-ce qui ne va pas avec mon code?
js function1
//pass a json:the browser show wrong:SyntaxError: missing ] after element list //passJson([object Object]) var dataItem=getDataItem();//a json object which has title and name property var divStr="";
Alors j’essaie d’append le “[]” à la fonction, mais ça rest faux.
js function2
//pass a json:the browser show wrong:SyntaxError: missing ] after element list //passJson([object Object]) var dataItem=getDataItem();// a json object which has title and name property var divStr="";
En règle générale, vous n’appelez pas cela un object JSON. Vous appelez simplement cela un object JavaScript.
De la manière dont votre code est, vous n’avez pas besoin de concaténation de chaînes. Vous pouvez simplement faire onclick='passJson(dataItem)'
comme dans
function passJson(obj) { console.log(obj); } var dataItem={ title: "hello", name: "snoopy" }; //a json object which has title and name property var divStr="hmmm;"; $("body").append(divStr);
et cela fonctionnera lorsque vous cliquerez sur le lien “hmmm”.
Vous voudrez probablement append le balisage séparément, puis lier un gestionnaire de clics au lien, car nous aimerions généralement utiliser l’approche de JavaScript discret .
function passJson(data) { console.log(data); } function getDataItem (){ return {'title':'mytitle','name':'helloName'}; } $(document).ready(function(){ var dataItem=getDataItem();// a json object which has title and name property dataItem = JSON.ssortingngify(dataItem); var divStr=""; $('body').html($(divStr)); });