通过其父级获取所有子元素

时间:2015-12-01 08:40:55

标签: javascript jquery

这是div结构。

<div id="parentDiv">
  <input type="text" id="tf1">
  <input type="text" id="tf2">
  <input type="text" id="tf3">
  <button id="bt3">Text</button>
</div>

我通过指定个人ID来使用以下代码。

修改

有一个$(document).click设置,如果用户当前正在任何这些文本字段中输入任何内容,我就会避免触发某个功能。一切正常。我的问题是不是添加单独的元素,因为目标是否有一种方法可以包含父元素中的所有元素?

$(document).click(function(e) {
    if ($(e.target).closest("#tf1, #tf2, #tf3, #btn3").length) { //Can these  individual elements be replaced by using parent div ID?
      return;
    }

    if (typeof commonFunc == "function"){ 
        commonFunc();
    }  
});

通过这样做,我不需要跟踪要添加的新元素。

2 个答案:

答案 0 :(得分:2)

解决方案是

if($(e.target).closest("#parentDiv").children().length)

答案 1 :(得分:0)

$(e.target).children() // Will return all the children of whatever e.target is

修改

$(document).click(function(e) {
    if ($(e.target).children().length==0) {
      // No children element.
      return;
    }
    else{
      // There are some child elements.
    }
});