[英]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-info
, data是前缀, 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.