我需要选择div中的任何链接,例如div abc ---最终取消绑定其点击事件。
<div id=abc>
<a href=google.com>first link</a>
<a href=google.com><img> src=google.png/>second link</a>
<a href=google.com><span>xxxxx</span> second link</a>
</div>
我使用下面的选择器
$('#abc a')
但它只有在超链接内部只有文本时才有效(上面的第一个例子) - 如果我放了span或image(第二个和第三个例子) - 我仍然可以点击超链接。换句话说,上面的jquery选择器没有选择它的子节点。
上面的jQuery是什么?
非常感谢。
答案 0 :(得分:4)
$('#abc a')
仅选择a
元素。如果你想选择a
个元素和所有后代,这个选择器可以完成这项工作,虽然它不是最有效的:
$('#abc a, #abc a *')
如果你不介意分两步完成,你可以更快一点:
var $links = $('#abc a');
$links.add($links.find('*'));