如何在单击事件jquery时传递参数
我正在获取ready事件的json文件数据如何在单击事件jquery时传递参数,jquery,Jquery,我正在获取ready事件的json文件数据 $(document).ready(function(e){ $.getJSON( "data/wall.json", function( data ) { createWall(data); }); }) function createWall(data) { for(var i=0; i<data.length;i++){ var
$(document).ready(function(e){
$.getJSON( "data/wall.json", function( data ) {
createWall(data);
});
})
function createWall(data)
{
for(var i=0; i<data.length;i++){
var stats = $("<p class='meta'><span>14 Days Ago</span><span class='comments' onclick='commentSection("+data[i]+")'>0 Comments</span><span class='likes'>Like</span></p>");
$('#wall').append(stats);
}
}
function commentSection(data){
console.log(data);
}
$(文档).ready(函数(e){
$.getJSON(“data/wall.json”,函数(data){
createWall(数据);
});
})
函数createWall(数据)
{
对于(var i=0;i尝试以下操作:使用转义字符在数据周围加引号
function createWall(data)
{
for(var i=0; i<data.length;i++){
var stats = $("<p class='meta'><span>14 Days Ago</span><span class='comments' onclick='commentSection(\""+data[i]+"\")'>0 Comments</span><span class='likes'>Like</span></p>");
$('#wall').append(stats);
}
}
函数createWall(数据)
{
对于(var i=0;i由我轻微更改,我已在data-
属性中传递了数据,并定义了一个启用的事件。注释类:
var stats = $("<p class='meta'><span>14 Days Ago</span><span class='comments' data-clk='"+data[i]+"' >0 Comments</span><span class='likes'>Like</span></p>");
$('body').on('click', '.comments', function(e){
e.preventDefault();
// Retrive Data
var data = $(this).data('clk');
})
var stats=$(“
”;
$('body')。关于('click','comments',函数(e){
e、 预防默认值();
//检索数据
var data=$(this.data('clk');
})
更合适的解决方案是使用事件委派和数据api,如
$(document).ready(function (e) {
$.getJSON("data/wall.json", function (data) {
createWall(data);
});
$('#wall').on('click', '.comments', function () {
var data = $(this).closest('.meta').data('walldata');
commentSection(data);
});
})
function createWall(data) {
for (var i = 0; i < data.length; i++) {
var stats = $("<p class='meta'><span>14 Days Ago</span><span class='comments'>0 Comments</span><span class='likes'>Like</span></p>").data('walldata', data[i]);
$('#wall').append(stats);
}
}
function commentSection(data) {
console.log(data);
}
$(文档).ready(函数(e){
$.getJSON(“data/wall.json”,函数(data){
createWall(数据);
});
$(“#墙”)。在('click','comments',函数(){
var data=$(this).closest('.meta').data('walldata');
评论组(数据);
});
})
函数createWall(数据){
对于(变量i=0;i14天前的评论类似于””)。数据('walldata',数据[i]);
$('#wall')。附加(stats);
}
}
功能注释部分(数据){
控制台日志(数据);
}
It传递[object object]。非值传递值需要使用data[i].property
@BhushanKawadkar,你不认为事件委派是更好的解决方案吗?@jQueryAngryBird,是的,这是Arun建议的更好的解决方案。一切正常。我不能用onclick加参数。但它调用时没有参数argument@MohaideenIsmail抱歉…修复了一个,但在读取数据时…它应该是var data=$(此).closest(“.meta”).data('walldata');