我正在对 JSON 数据进行 ajax
get
调用,并通过动态创建 li
元素来显示列表。
JSON 数据的格式是:
[
{"name":"Obj1", "id":"1"},
{"name":"Obj2", "id":"2"},
{"name":"Obj3", "id":"3"},
......
]
我附加 li
的 html 是:
<div id="lists">
<ul id="bullets"></ul>
</div>
我正在尝试在 li
上创建一个 onclick
事件,它调用一个采用 JSON Obj: id
的函数。我是这样做的:
$.ajax({
type: 'GET',
url: URL,
data: { get_param: 'value' },
success: function (data) {
$.each(data.slice(2), function(index, element) {
$('#bullets').append('<li id="demo" onclick="loadCards(\"' + element.id + '\")">' + element.name + '</li>');
});
}
});
现在,这会正确显示列表,但是当我单击名称时,出现此错误:
Uncaught SyntaxError: Unexpected end of input: loadCards(
生成的 HTML 如下所示:
<li id="demo" onclick="loadCards(" 1")"="">PB Dashboard</li>
1
是上述 JSON 中的对象 ID,但我不确定为什么是这个 html?无法解决这个问题。
有没有办法在li
中添加anchor
标签,然后执行点击?
最佳答案
尝试使用这个
$('#bullets').append('<li id="demo" onclick="loadCards(\'' + element.id + '\')">' + element.name + '</li>');
以此为例 fiddle :
关于javascript - Jquery:在解析 JSON 时添加到动态创建的 <li> 的 onclick 事件在单击时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51827252/