繁体   English   中英

如何将tag参数传给onclick function?

[英]How to pass tag parameter to onclick function?

我有一个像这样的 js function ...

function myfunction(data){
    console.log(data);
}

我需要从标签中的数据传递参数。 我试着做:

<a id="aTag1" data="some data" onclick="trees(this);" > click me </a>

我希望在控制台中打印"some data" ,但控制台打印所有 html 标签我也尝试使用console.log(data['data'])console.log(data.data)但它未定义我怎么能从 a 标签接收数据参数?

您传递了元素的引用,因此您需要查看属性。 理想情况下,您应该使用数据属性。

 function myfunction(elem){ console.log(elem.dataset.test); }
 <a id="aTag1" data-test="some data" onclick="myfunction(this);" > click me </a>

您需要引用数据集值。 您正在控制台记录整个标记而不是属性值。 您也可以使用el.getAttribute()

重要说明:在您的示例中,您将数据传递到 function。 data是在 HTML 和 JS 中使用的保留字,我建议将不同的参数传递到您的 function。此外,您的data-属性需要 go 的属性以及数据属性,使其按预期工作。 示例: data-infodata是前缀, info是属性, data-info一起使用dataset.info读取。 MDN:使用属性MDN:更多关于数据属性

 function trees(data){ console.log(data.dataset.some); console.log(data.getAttribute('data-some')) }
 <a id="aTag1" data-some="some data" onclick="trees(this);" > click me </a>

基本上当你传递this时,你传递了整个元素 object。你想要的东西可以通过以下片段来实现:

function myfunction(data){
    console.log(data.attributes.data);
}

暂无
暂无

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

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