繁体   English   中英

如何从变量中的事件 onClick 中获取价值?

[英]How can i take value from event onClick in variable?

如何从变量中的事件 onClick 中获取价值?

我的 html 中有两个跨度和语言的按钮

<button class="switch" >
<span class='span switch_span spanlg span-dark' id = 'en' data-lang="en">EN </span>
<span class='switch_span1 spanlg'>/</span> 
<span class='span spanlg span-dark' id = 'ru' data-lang="ru" >RU</span>
</button>

我需要在 script.js 中接收变量 onclick id 或 data-lang

我在下面尝试,但它不起作用

const span = document.querySelectorAll('.span');

var postId='';

span.forEach(function(spa) {

    spa.addEventListener('click', function() {
      postId = this.getAttribute('id');
      return postId;
    })
})

console.log(postId)

并且 postId 没有收到 id

我需要在变量中有这个 id

非常感谢您的帮助!

您应该从侦听器 function 的参数中获取目标,例如:

function(event) {
  postId = event.target.id;
}

查看更多信息: https://developer.mozilla.org/en-US/docs/Web/API/Event/target

另请注意,仅在触发事件后才设置变量。

您只是没有在正确的时间或正确的位置调用 console.log

span.forEach(function(spa) {

    spa.addEventListener('click', function() {
      postId = this.getAttribute('id');
      console.log("id: " + postId);
      return postId;
    })
})

//console.log(postId)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM