首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

PHP/JS 中 a 標籤自定義屬性值傳遞失敗的解決:使用 getAttribute

     編輯:程式設計疑難解答

問題代碼

<a href="#" value="leads-201602001" onclick="showleadsdetails(this.value)">
function showleadsdetails(leadcodes) { ... } // 參數為 undefined

原因

<a> 標籤沒有 value 屬性,this.value 返回 undefined。自定義屬性需用 getAttribute() 獲取。

修正方案

// 方案 1:傳遞 this,函數內 getAttribute
onclick="showleadsdetails(this)"
function showleadsdetails(el) {
    var leadcodes = el.getAttribute('value');
    // ...
}

// 方案 2:直接傳遞屬性值
onclick="showleadsdetails(this.getAttribute('value'))"

最佳實踐:使用 data-* 屬性

<a href="#" data-lead="leads-201602001" onclick="showleadsdetails(this.dataset.lead)">
// 或
onclick="showleadsdetails(this)" 
function showleadsdetails(el) {
    var leadcodes = el.dataset.lead; // 原生支持 data-*
}

PHP 生成代碼修正

echo '<a href="#" data-lead="' . $row[0] . '" onclick="showleadsdetails(this.dataset.lead)">' . $row[0] . '</a>';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved