需要获取第一个子项a并创建一个具有结果的单击事件
Need to get first child a and create a click event with the result
我正在尝试创建一个JavaScript程序,该程序通过DOM查找第一个不是mailto:
的<a href>
,它需要是一个"真实链接"并返回href
值。然后,我需要创建一个带有结果的click
事件。
我需要的是一个HTML,它封装了一篇文章的作者内容。这需要是可点击的,但不需要在标记中使用onclick
。它需要是一个在HTML标记中不可见的事件。
包装section
也应该是可点击的,但不受我上面描述的任何事情的影响。
标记是这样的:
<section>
<figure>
<img>
</figure>
<div>
<h2>
<p>
<a href="mailto:.."></a>
<a href="THE VALUE I NEED"></a>
</p>
</div>
</section>
/*编辑*/
OK找到了这个。
function (a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b}
这是我在FireBug的事件窗口中从我试图获取此函数的站点中获得的字符串。有人明白吗?这根绳子是它工作的原因。我刚刚复制了整个js,它在我的网站上运行,但我想隔离这个特定的函数,因为原始文件很大。任何人
http://jsfiddle.net/LrgQH/
var links = document.getElementsByTagName('a');
var link, i;
for(i=0; i<links.length; i++) {
link = links[i];
if (link.href.indexOf('mailto:') !== 0) {
break;
}
}
link.onclick = function(e) {
alert('allo');
}
Vanilla JS应该可以在任何地方使用。
编辑:
http://jsfiddle.net/LrgQH/2/
这应该可以做到,你必须阻止其他链接工作,但它变得越来越复杂。请记住,在Javascript中,事件系统是通过冒泡来工作的。最深的对象会得到点击事件,然后如果它能处理它,它就会处理它。在处理事件时,它可以防止它走得更远,事件不会进一步传播。如果它决定不阻止事件,它将转到父元素,依此类推,直到到达HTML元素。
如果元素无法处理事件,它将自动转到父级,直到If找到一个可以处理该事件的元素。如果没有任何元素能够处理该事件,那么它将不会被处理。我建议你在w3c网站上阅读更多关于它的信息。
http://www.w3schools.com/
我相信你要问的是,你不知道第一个anchorTag链接是什么,它可能是任何值,但它会返回href值。这是代码:
<script>
let a = document.querySelectorAll("a");
for(i=0; i < a.length; i++){
if(i==0){
console.log(a[i].href);
["touchstart","mousedown"].forEach(e=>{
a[I].addEventListener(e,()=>{
alert(a[I]);
});
});
}
}
</script>
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 使用NextToken使用javascript aws-sdk解析下一个结果
- Angular.forEach 只返回一个结果
- 谷歌地图商店定位器只返回一个结果
- .each() 函数只输出数组中的最后一个结果
- 如何通过PHP或JavaScript将整个DIV数据发送到下一个结果页面
- 将一个结果集除以另一个结果集,然后显示答案
- foreach 只产生一个结果
- 查找主干集合上的位置仅返回一个结果
- 插入数据库时如何从数据库中检索最后一个结果
- 在 JavaScript 中添加表值会在 NaN 的表单元格中给我一个结果
- 如何将一个结果列表合并到一个包含汇总的压缩对象中
- java脚本regex.match只查找一个结果
- 输出一个结果数组,其中包含给定数组的唯一元素的分组计数
- 从XML文件中隔离一个结果
- 骨干收集发现我只想要一个结果
- 我需要用AJAX Post声明一个结果类型吗
- 在另一个结果中的单选按钮
- 我试图从一个函数内的函数返回一个结果
- 在Javascript页面中搜索-一个结果错误