帮助转换内联onclick

我正在尝试转换一些硬编码的内联onclicks来动态创建。

这是他们现在的样子:

(HTML)

 

这是新代码:

(脚本)

 $(document).ready(function() { $('#search-navlist li a').each(function() { $(this).attr("onclick", "searchExhibitorsByAlphabet(this,'A'); return false;"); }); }); 

(在HTML中)

  

到目前为止,虽然所有链接都是相同的,但这种方法很好。 我希望链接与它的相应字母相关联。

我发现了这个function:

 function iterateAlphabet() { var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for(var i=0; i<str.length; i++) { var nextChar = str.charAt(i); alert(nextChar) } } 

……但不确定如何加入它。 (我也看到了一些使用charcodes的脚本,上面的函数对我来说更容易理解。)

我很感激一些帮助。 我会在此期间继续尝试。

谢谢。

您可以重写为:

  $(document).ready(function() { $('#search-navlist li a').click(function() { // alert($(this).text()); searchExhibitorsByAlphabet(this, $(this).text()); return false; }); }); 

DEMO

您还可以使用委托来获得更好的性能:

 $(document).ready(function() { $('#search-navlist').delegate('li a', 'click', function() { // alert($(this).text()); searchExhibitorsByAlphabet(this, $(this).text()); return false; }); }); 

演示

这是你可以做的:

 $(document).ready(function() { $('#search-navlist').delegate("li", "click", function() { searchExhibitorsByAlphabet(this, $(this).text()); return false; }); }); 

并将您的HTML更改为:

 
  • A
  • B
  • C
  • ....
  • Z