我的一些代码使用jquery创建元素<a>
具有给定点击行为的函数:
$(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>
上的点击事件更改 <span id="corr1-0">my old text</span>
中的文本。两个元素之间的链接由类后缀 f.i. 建立。 1-0
.
我有几双<a>/<span>
,我检查了每个id。
有些链接有效,但有些则无效:控制台中没有错误,Firebug 无法跟踪任何内容...
绑定(bind)的函数是:
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) );
});
关于javascript - jquery动态点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16525727/