[英]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.