簡體   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