2016-07-22 114 views
0

因此,情况如下。 我有作为容器对所有类型的其他元素(特别是<a hre0="..."><img ...></img></a><iFrame>标记)的div元素:Javascript:获取div标签内任意元素的点击目标

<div id="myDiv"> 

所以基本上,我想做的事是让点击目标(如适用)在这个div标签中的所有类型的元素,假设总是只有一个指定目标的点击。

说得明智的UI:我想看到当用户将光标悬停在元素上时用户看到的目标链接。

是否有一个通用的方法来实现这一目标?

+0

这将不可能,例如捕捉跨越原始iframe的点击事件目标(如果此特定页面未专门处理)。否则,只需检查'$(event.target).closest('[href]')。prop('href')' –

+0

不知道是否理解了一个问题,但也许你需要像这样的东西:https:// jsfiddle .net/kshqtv8j/2/ –

+0

或vanilla.js:https://jsfiddle.net/2years50/1/ –

回答

0

这听起来像你想要做的是找到你的包装div的所有子元素,然后循环他们获得'href'属性。例如:

var children = document.getElementById('myDiv').children; 

for (var i = 0; i < children.length; i++) { 
    var childElement = children[i]; 
    var destination = childElement.href; 

// do whatever you want with destination here. You can also get the associated IDs etc. 

} 

未经测试,但应该工作。

+0

谢谢,它适用于img标签,但对于从另一个域交付的iFrame标签,它不起作用。任何其他建议? – mrb