我的div
包含许多spans
,其中每个span
都包含一个href
。
如何将点击事件附加到a
代码?
答案 0 :(得分:5)
您的live
选择器将div span a
(位于a
内某处的span
内的某个div
。 E.g:
$('div span a').live('click', function() {
// ...
});
如果您想将其限制为仅 a
span
直接孩子 div
这是直接子女<{1>}的div > span > a
,div span > a
a
span
div
div
#the_id_of_the_div
{{1}}的任何地方{{1}} 1}}等。)。
如果您只想为一个特定div执行此操作,请将上面的{{1}}替换为{{1}}(或任何其他将识别该特定div的选择器)。
答案 1 :(得分:5)
如果OP调用了大量锚点(a
或“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
}
});