使用 jQuery 和 CoffeeScript,我想在用户按 Enter 时更新 html 元素。我的代码如下所示:
$ ->
$('p span').live 'keypress', (e) ->
if e.keyCode == 13
$('div.sidebar-nav ul li a.active').html $(this).attr 'value'
Coffeescript 编译没有任何错误,但代码无法运行。由于某种原因,如果我添加更改代码以使其有效:
$ ->
$('p span').live 'keypress', (e) ->
if e.keyCode == 13
alert 'some string'
$('.sidebar-nav a.active').html $(this).attr 'value'
我花了几个小时试图解决这个问题,但仍然一无所获。任何帮助将不胜感激。
最佳答案
$('.sidebar-nav a.active')
不同于...
$('div.sidebar-nav ul li a.active')
在第一种情况下,a.active
是 .sidebar-nav
的后代,并且 .sidebar-nav
下的结构可以可以是任何东西(列表、文章、跨度、字幕,都没关系,只要它在某处)。在第二个中,它是一个列表中的曾孙。我们需要查看您的 HTML 才能确定,但它看起来像是错误的选择器...
关于jQuery/Coffeescript - 如果有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866265/