Jquery为按钮添加额外的字符

时间:2018-05-29 09:07:42

标签: jquery

我想生成一个这样的按钮:

    $("#card").append('<div><button onclick=" edit("'+k+'")" > Edition</button> my text <br></div>');

上一代码生成的html按钮是:

<button onclick=" edit(" 5b027d9110966772975cb2d4")"=""> Edition</button>

请注意bad =“”caracters,我不知道它来自哪里。

只要我试试这个:

$("#card").append('<div><button onclick=" edit(12)" > Edition</button> my text <br></div>');

它正在运作。

请帮助我,这是一个jquery bug吗?

MORE INFOS,这是我的ajax完整代码,我的目标是从couchDb检索数据,然后为每个文档(对象)显示一个可点击的按钮

   $.ajax({
    url: remoteURL + '?' + 'skip='+ skip + '&' + 'limit=' + limit + '&include_docs=true',
   data: {format: 'json'},
   error: function() {
      $('#info').html('<p>An error has occurred</p>');
   },
   dataType: 'jsonp',
   success: function(data) {
      console.log(data.rows);
      var html = data.rows;
    for(x = 0;x<data.rows.length;x++){

        $("#card").append('<div><button onclick=" edit("'+data.rows[x].doc._id+'")" > Edition</button>  '+data.rows[x].doc.nom + '<br></div>');
    }
   },
   type: 'GET'
});

然后,我的所有按钮都使用extra =“”caracters生成,因此我无法点击并获得错误。 只要我用例如2的INT替换+ data.rows [x] .doc._id +,它就可以了,我真的无法理解为什么它会生成=“”字符!

2 个答案:

答案 0 :(得分:0)

$("#card").append('<div><button onclick="edit('+ "'" + data.rows[x].doc._id + "'" + ')" > Edition</button> my text <br></div>');

试试这段代码。

答案 1 :(得分:0)

我终于找到了答案:

How to solve "identifier starts immediately after numeric literal"

它现在正在运作,非常感谢,希望将来能够提供帮助!

现在这是我正在运行的jquery函数(请注意\&#34;&#34; + k +&#34; \&#34;):

    var k = data.rows[x].doc._id ;      
    $("#card").append("<div><button onclick=' edit(\""+k+"\")' >Edition</button>my text <br></div>");