我正在使用onclick事件来执行某些操作,但由于som原因,第二个ID未被传递,我在这里做错了什么:
row += '<td>' + data[staff].Naame + '(<a href="#" class="name" code="' + data[staff].place + '">' + data[staff].place1 + 'fID="' + data[staff].id+ '"' +'</a>)</td>'
$(document).on("click", ".name", function (e) {
var code = ($(this).attr("code"))
var fID = ($(this).attr("fID"))
function(code, fID);
});
出于某种原因,fID未从'fID="' + data[staff].id+ '"'
传递到function(code, fID);
,为什么会这样?
答案 0 :(得分:1)
避免在jQuery中使用字符串连接加载来创建元素,因为它通常是不可读的并导致输入错误(就像没有将fId放在标记属性中):
而是使用jQuery构建元素。我不是100%肯定你的链接应该从代码中看起来像什么,但是这样的东西(调整以适应):
var $td = $('<td>').html(data[staff].Naame);
$td.append($('<a>', {class: 'name', code: data[staff].place, fId: data[staff].id}).html(data[staff].place1));
row.append($td);
答案 1 :(得分:0)
我认为您需要在<a ... >
标记内定义fID - 就像您为代码所做的那样。
即:
<a href="#" class="name" code="' + data[staff].place + '" fID="' + data[staff].id + '"> ... </a>
答案 2 :(得分:0)
试试这个。
row += '<td>' + data[staff].Naame + '<a href="#" class="name" code="'+data[staff].place+'" fID="'+data[staff].id+'">'+data[staff].place1+'</a></td>'