check checked元素位于单击的目标中

时间:2015-03-14 12:35:39

标签: javascript jquery

在我的页面中,我有如下所示的元素

<div id="target" class="textarea">
 HTML is written in the form of HTML elements consisting of tags enclosed in angle
 brackets (like
 &lt;html&gt;
 ),within the web page content. HTML tags most commonly come in pairs like and ,although
 some tags, known as empty elements, are unpaired, for example
 &lt;img&gt;. The purpose of a web browser is to read HTML documents and compose them into
 visible or audible web pages. The browser does not display the HTML tags, but uses
 the tags to interpret the content of the page.
<div id="target2" class="textarea"><div id="test3"><div id="test4">Right Click Here</div> </div>
</div>
</div>

每当我点击Div元素("target2")target2test2时,我都需要检查我所拥有的元素test3是否是相同的元素。这里有test2test3target2内部。我正在使用$(e).is($.trim(my element)检查我所拥有的元素是否与我点击的元素相同。但是,只要我点击div元素e.targettest4就会返回target2。但是,我实际上是在点击target2。我怎么能这样做?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用closest()来测试元素是否在另一个元素中

$('div').click(function (e) {
    e.stopPropagation();
    if ($(e.target).closest('#target2').length) {
        alert('I am within target2, or I am target2');
    }
});

预期的行为非常不明确。

之后,如果这不是您的目的,请提供其他详细信息

DEMO