Javascript如何从elementFromPoint()返回的对象/元素中获取特定的子元素?

时间:2013-08-01 18:39:54

标签: javascript jquery parent-child

有没有办法从函数elementFromPoint(x,y)返回的元素/对象中检索子元素;

假设我有以下声明,

var elem = document.elementFromPoint(x, y);

并假设返回并存储在变量elem中的元素具有以下结构:

<section class="wrapper">
      some unwraped text
      <div class="hidden">
           <img />
      </div>
</section>

是否可以从此部分包装器中检索img标签?我希望检索它并使用jQuery克隆它,并进一步将克隆添加到另一个元素。包装图像标签的div具有display:none的css属性;这将隐藏图像,我想复制该图像并在其他元素中显示它。

但是我需要找到一种方法来检索img标签,然后才能克隆它并进一步追加它。

EDITED

所以这就是我试图使用elem对象的方法,我需要孩子img而不是整个返回的元素

  $('#unique > img').remove();
  $('#unique').append($(elem > child)
        .clone()
        .children()
        .end());

我相信如果我能够正确地获得正确的元素,我就不需要children()函数。

谢谢......

3 个答案:

答案 0 :(得分:1)

elem最终会是什么? <section>

$(elem).find('.hidden img')

其中一个孩子?

$(elem).closest('.wrapper').find('.hidden img')

答案 1 :(得分:1)

检查是否有效:

$("img",$(document.elementFromPoint(x, y)))

$(document.elementFromPoint(x, y)).find("img")

答案 2 :(得分:1)

var elem = document.elementFromPoint(x, y);
var imageElement = $(elem).find("div.hidden img")