Javascript 是否将onmouseover函数()附加到页面中的所有HREF和SRC以访问它们?

Javascript 是否将onmouseover函数()附加到页面中的所有HREF和SRC以访问它们?,javascript,anchor,href,onmouseover,queryselector,Javascript,Anchor,Href,Onmouseover,Queryselector,我想通过简单地附加onmouseover=函数来访问href和src链接。以下是我的代码: HTML 东西 Javascript: document.querySelectorAll("a").onmouseover = function() { let g, i; g = document.querySelectorAll("a").getAttribute("href") for (i = 0; i < g.length

我想通过简单地附加onmouseover=函数来访问href和src链接。以下是我的代码:

HTML

东西

Javascript:

document.querySelectorAll("a").onmouseover = function() {
let g, i; 
g = document.querySelectorAll("a").getAttribute("href")
for (i = 0; i < g.length; i++) {
location.assign(g[i]);
      }
 } 
document.querySelectorAll(“a”).onmouseover=function(){
让g,我;
g=document.querySelectorAll(“a”).getAttribute(“href”)
对于(i=0;i

感谢您提供的有用答案。

假设您希望获得这些属性,而不考虑标记类型,您可以使用
querySelectorAll
查询多个选择器。您还可以使用
forEach
循环查看结果

您可以使用CSS按属性将元素作为目标,您可以阅读更多有关内容

现代浏览器支持循环浏览
querySelectorAll
结果,但如果您需要旧的浏览器支持

var links=document.querySelectorAll(“[src],[href]”);
links.forEach(link=>{
link.addEventListener(“mouseover”,e=>{
const href=e.target.href;
const src=e.target.getAttribute(“src”);
if(src)console.log(src);
if(href)console.log(href);
});
});


stuff

尝试下面的代码片段
document.querySelectorAll
返回一个数组,因此需要在其中循环以附加事件

let elements=document.querySelectorAll(“a”)
elements.forEach(element=>{
addEventListener(“mouseenter”,function()){
console.log(element.href);
log(element.getAttribute('src');
} )
});


stuff

您想访问哪些元素类型的
href
src
<代码>
??多个元素类型可以有srcattributes@justinw对你的第一个问题回答是。你说得有道理,但我会在后面再看。明白了,我在下面贴了一个答案,说明了如何获得
href
src
,而不考虑标签type@ManuelRoads,注意justinw如何使用
.addEventListener
而不是
。onmouseover=…
-首选addEventListener,因为它允许您附加多个事件侦听器,其中分配
.onmouseover=…
会盲目地替换任何现有的事件侦听器;const src=e.target.getAttribute(“src”)
为什么
const src
需要
getAttribute(“src”)
用于src,而
const href
只需要
e.target.href
,没有
getAttribute()
const src
。最好默认选择多个事件侦听器,而不是盲目地替换任何现有的事件侦听器,除非在特定的场景中。@ManuelRoads我之所以使用
getAttribute(“src”)
,是因为在最初的示例中,您有一个
-查看控制台,一个是
未定义
,另一个是显示
foo的
,@StephenP。我感谢你的澄清。现在有道理了。
document.querySelectorAll("a").onmouseover = function() {
let g, i; 
g = document.querySelectorAll("a").getAttribute("href")
for (i = 0; i < g.length; i++) {
location.assign(g[i]);
      }
 }