2013-08-01 49 views
0

有沒有辦法從函數elementFromPoint(x,y)返回的元素/對象中檢索子元素;Javascript如何從elementFromPoint()返回的對象/元素中獲取特定的子元素?

假設我有下面的語句,

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()函數就會起作用。

謝謝...

+2

'$(ELEM).find( 'IMG')'? – Musa

+0

或'$(「img」,elem)',指定選擇器的'context'參數。 – apsillers

回答

1

elem結果是什麼?該<section>

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

它的一個孩子?

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

所以elementFromPoint(x,y)返回的元素是我的問題中提到的整個HTML部分,換句話說,在函數調用之後,elem將保存所有這些標籤。我想從elem元素中提取img標籤 – user9349193413

+0

@twimB:所以使用'$(elem).find('。hidden img')'? – Ryan

+0

是的,它的工作,非常感謝! – user9349193413

1

檢查,如果這個工程:

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

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

非常感謝,它適用於第二個,生病也給你一個去與你的第一個變種也。 – user9349193413

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

非常感謝,find()函數起作用 – user9349193413

相關問題