0

我的一些代码使用 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>. 两个元素之间的链接由类后缀 fi 构成1-0

我有几双<a>/<span>,我检查了每个身份证。

有些链接有效,但有些链接无效:控制台中没有错误,没有任何东西可以用萤火虫追踪......

绑定的函数是:

function switchLabel(e) {
  $('#corr'+ e.target.className.substr(4)).text($(e.target).attr('title'));
}

您是否有一些提示可以帮助我跟踪这种不受欢迎的行为?我可以在实施中犯错吗?

问候

4

1 回答 1

4

您的变量不匹配,您使用的是 index 而不是 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) );
});
于 2013-05-13T15:33:15.377 回答