gpt4 book ai didi

javascript - 如何使用数据属性提取数据?

转载 作者:行者123 更新时间:2023-12-02 23:30:20 29 4
gpt4 key购买 nike

我正在尝试使用 data- html 技巧从我们的 API 中提取数据。我可以直接调用数据,并且加载得很好。但是当我尝试从数据属性获取数据变量时,它不起作用。

我的代码有什么缺陷吗?

<span id="totalBalanceBTC" data-api-user-getbalance="totalBalance">--</span>
function dataAPI() {
let balanceUrl = 'https://api.example.io/v1/user/getbalance/username';
let balanceApiData = getApiData(balanceUrl);

$('[data-api-user-getbalance]').each(function (){

let dataUserBalance = $(this).data("api-user-getbalance");
let data = balanceApiData.dataUserBalance;

// WORKS
$(this).html(balanceApiData.totalBalance);

// DOES NOT WORK
$(this).html(balanceApiData.dataUserBalance);

});
}

最佳答案

1. jQuery 的 .data()删除 data- 前缀,并使用破折号作为分隔符将剩余的连字符字符串转换为驼峰命名法。应该是:

let dataUserBalance = $(this).data("apiUserGetbalance");

2. 要使用变量访问对象属性,您需要使用 bracket notation 。否则,您将尝试获取不存在的属性“dataUserBalance”

let data = balanceApiData[dataUserBalance];

const balanceApiData = { totalBalance: 500 };
const $elem = $("#totalBalanceBTC");

let dataUserBalance = $elem.data("apiUserGetbalance");
let data = balanceApiData[dataUserBalance];

console.log(data);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span id="totalBalanceBTC" data-api-user-getbalance="totalBalance"></span>

关于javascript - 如何使用数据属性提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56535737/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com