Javascript 选择子体(一个子体除外)

Javascript 选择子体(一个子体除外),javascript,jquery,html,Javascript,Jquery,Html,假设我有这个HTML: <div class="par"> <div class="s1"> <a href="#" class="s1">link</link> </div> <div class="s8"> <a href="#" class="s1">link</link> <div class="s1"> <a href="#"

假设我有这个HTML:

<div class="par">
  <div class="s1">
    <a href="#" class="s1">link</link>
  </div>
  <div class="s8">
    <a href="#" class="s1">link</link>
    <div class="s1">
      <a href="#" class="s1">link</link>
    </div>
  </div>
  <div class="ds44">
    <a href="#" class="s1">link</link>
  </div>
  <span class="t">This is text</span>
  <div class="thisOne">
    <a href="#" class="s1">link</link>
  </div>
</div>

通过单击
中除
及其子元素以外的任何元素。我该怎么做呢?

处理
点击
.par
上的
并选中
e.target

比如说,

$(".par").on("click", function(e) {
    if ($(e.target).closest(".thisOne").length) {
        return;
    }

    …
});

将一个单击处理程序分配给
.par
,然后将一个分配给
。此处理程序可防止单击冒泡到
.par

$('.par').click(aFn);

$('.thisOne').click(function(e) {
    e.stopPropagation();
});

到目前为止你试过什么?您能与我们分享您可能在您的团队中尝试过的代码吗?但是
中有一个元素。这个元素
和那个元素单击事件@OMiD:它是子组合器–它意味着寻找
。这一个
的直接后代。par
@OMiD:Um,保留任何有效的。我正在尝试一些我想选择的东西,你之前的答案正是我想要的for@OMiDL因为你没有选择不需要的元素,但这是没有意义的,因为我的旧答案不起作用…是吗?好吧,如果它对你有用,我想我可以把它换回来。我刚试过,但似乎没有…这不是我要找的!我要选择!不提升函数,感谢@minitech,它现在正在工作。
aFn
将通过单击
.par
或其子项调用,但
除外。thisOne
及其子项。这不是你想要的吗?它正在工作,但是我的html有很多他们不应该选择的对象,如果我选择它们,我的应用程序工作得很慢!!谢谢你@JasonP
$('.par').click(aFn);

$('.thisOne').click(function(e) {
    e.stopPropagation();
});