【问题标题】:jQuery selector to find link and all element insidejQuery选择器查找链接和里面的所有元素
【发布时间】:2011-01-30 00:42:31
【问题描述】:

我需要选择 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 是什么?

非常感谢。

【问题讨论】:

  • 解除其点击事件的绑定是什么意思?您之前是否绑定过点击处理程序?还是您只是想阻止默认行为?

标签: jquery selector


【解决方案1】:

$('#abc a') 仅选择 a 元素。如果你想选择a 元素所有后代,这个选择器可以完成这项工作,尽管它不是最有效的:

$('#abc a, #abc a *')

如果你不介意分两步做,你可以让它快一点:

var $links = $('#abc a');
$links.add($links.find('*'));

【讨论】:

  • 非常感谢马特,你太棒了!
猜你喜欢
  • 2012-01-30
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-24
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多