jQuery的动态点击事件
问题描述:
我的一些代码使用jQuery来创建元素<a>
与点击行为给出一个函数:jQuery的动态点击事件
$(alternatives).each(function (idx, elt) {
var element = $('<span class="label label-success">');
var link = $('<a class="prop' + idx + '" title="' + elt + '">' + elt + '</a>');
link.click(switchLabel);
element.append(link);
list.append(element);
});
这里的想法是捉对<a class="prop1-0" title="myTitle">my link</a>
click事件来改变一个文本<span id="corr1-0">my old text</span>
。两个元素之间的链接由类后缀f.i构成。 1-0
。
我有几双<a>/<span>
,我检查了每一个ID。
一些环节的工作,但有的没有:在控制台没有错误,没有与萤火虫追踪...
绑定功能是:
function switchLabel(e) {
$('#corr'+ e.target.className.substr(4)).text($(e.target).attr('title'));
}
你有一些提示,以帮助我跟踪这种不需要的行为? 我可以在实施中犯错吗?
问候
答
你的变量不匹配,您使用的指标,而不是IDX等,并有更简单的方法来创建元素和事件处理?
$.each(alternatives, function (idx, elt) {
var element = $('<span />', {'class' : 'label label-success',
id : 'corr'+idx
}
),
link = $('<a />' {id : 'prop' + idx,
title : elt,
text : elt
}
);
link.on('click', function() {
$('#' + this.id.replace('prop','corr')).text(this.title);
});
list.append(element.append(link));
});
首先你使用变量'index'和'idx',是吗? – Hoffmann 2013-05-13 15:32:52
是的,这是一个错字... – enguerran 2013-05-14 07:26:02