1

使用jQuery和coffeescript,我想在用户按下回车时更新一个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'

我花了最后几个小时试图解决这个问题,但仍然没有。任何帮助将不胜感激。

4

1 回答 1

3
$('.sidebar-nav a.active')

不同于...

$('div.sidebar-nav ul li a.active')

在第一种情况下,a.active是 的后代.sidebar-nav,并且其下的结构.sidebar-nav可以是任何东西(列表、文章、跨度、选框,只要它在某处即可)。在第二个中,它是一个曾孙,在一个列表中。我们需要查看您的 HTML 以确定,但它看起来像错误的选择器......

于 2012-06-02T22:05:28.770 回答