You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript提取MDN事件参考页面的所有事件名?

解决MDN事件参考页提取事件名的问题

嘿,作为JavaScript新手能想到用querySelectorAll来抓取页面元素已经很棒啦!你遇到的问题是因为当前选择器选中了表格里所有的<a>标签——包括事件名列和“Fired From”列里的链接,所以才会输出多余内容。

解决方案:精准定位事件名列的<a>标签

我们只需要修改选择器,让它只选中每行第一列里的<a>标签就行。MDN的这个表格结构里,事件名是放在每行的第一个<td>中的,所以可以用:first-child伪类来精准定位:

// 只选中tbody每行第一列的a标签
var eventLinks = document.querySelectorAll("tbody tr td:first-child a");

// 用forEach循环更简洁(现代JS写法)
eventLinks.forEach(function(link) {
    console.log(link.textContent); // 用textContent比innerHTML更安全,只会获取纯文本内容
});

如果还是想用你原来的while循环,也可以调整:

var eventLinks = document.querySelectorAll("tbody tr td:first-child a");
var i = 0;
while (i < eventLinks.length) {
    console.log(eventLinks[i].textContent);
    i++;
}

为什么这样改?

  • 原来的tbody tr a会匹配表格行里所有的<a>元素,而我们只需要第一列的事件名链接。
  • 用textContent代替innerHTML是更好的习惯:它只会获取元素的纯文本内容,避免了如果标签里有嵌套元素时可能输出的多余HTML代码。

这样运行代码后,console里就只会输出所有事件名啦!

内容的提问来源于stack exchange,提问作者Ramunas Nognys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 00:43:14