我想生成一个这样的按钮:
$("#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 +,它就可以了,我真的无法理解为什么它会生成=“”字符!
答案 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>");