将click事件附加到HTML中的span标记?

Rod*_*Rod 0 jquery

我有一个div包含很多spans,每个span包含一个href.

如何将单击事件附加到a标记?

T.J*_*der 5

你的live选择器div span a(在a某个内部span的某个地方div).例如:

$('div span a').live('click', function() {
  // ...
});
Run Code Online (Sandbox Code Playgroud)

如果你想将其限制在只有一个a,这是一个直接的孩子span这是一个直接的孩子div,这将是div > span > a(或div span > aaS中的直接孩子span在任何地方小号div等).

如果您只想为一个特定的div执行此操作,请将div上面的内容替换为#the_id_of_the_div(或将标识该特定div的任何其他选择器).


Mat*_*all 5

如果存在大量锚点(a或OP调用它们的"hrefs"),那么使用事件委托编写可能更好:将单个click侦听器附加到父级div并在回调中,找出a最初触发事件的位置.

$('#yourDiv').click(function (event)
{
    var $target = $(event.target);
    if($target.is('div>span>a')
    {
        // your callback logic here, where you can consider
        // $target to be analogous to $(this) in a non-delegated handler
    }
});
Run Code Online (Sandbox Code Playgroud)