我有一个jquery股票代码,它掏出最新的股票;显示公司名称,股票价格和变化百分比。
股票价格可以是英镑,美元或日元。当前的股票代码并未显示此信息。
理想情况下,我希望这种自动化,但随着谷歌财务api的老化我不认为这是可能的。
我添加了一个HTML 5“数据货币”来手动定义每个股票的货币。但我不能让Jquery把它拉出来。我的尝试让我留下了“未定义”的范围。
类似的例子已经存在,称为“数据符号”,尽管这依赖于“数据标题”。因此,替换这些以满足货币需求是不可行的。
我是jquery的新手所以我知道我可能做错了。
我附上了一个JS小提琴
$(document).ready(function () {
for (var i = 0; i < gstock.length; i++) {
$.getJSON("https://finance.google.com/finance/info?client=ig&q=" + gstock[i] + "&callback=?", function (response) {
var stockInfo1 = response[0];
var divContainer = $('*[data-symbol="' + stockInfo1.t + '"]');
var divCurrency = $('*[data-currency="' + stockInfo1.d + '"]');
var percentStock = !isNaN(stockInfo1.c) && !isNaN(stockInfo1.l) && stockInfo1.l ? ((parseFloat(stockInfo1.c)/parseFloat(stockInfo1.l)) * 100) : undefined;
var stockString1 = '<div class="stockWrapper">' + divContainer.data('title') + ':';
var stockName1 = stockInfo1.t;
var stockCurency1 = stockInfo1.d;
var stockPrice2 = "";
stockPrice2 += '<span class="stockSymbol "> ' + stockInfo1.l + '</span>';
https://jsfiddle.net/jhm7po6d/4/
如何将HTML打印到jquery表中
亲切的问候,
答案 0 :(得分:2)
而不是
$("#currency").append("<div><b>" + stockInfo1.d + "</b></div>");
更改
$("#currency").append("<div><b>" + stockInfo1.l_cur + "</b></div>");
答案 1 :(得分:1)
货币似乎不包含在Google返回的JSON中。
[{
"id": "26677"
,"t" : "ASTE"
,"e" : "NASDAQ"
,"l" : "38.17"
,"l_fix" : "38.17"
,"l_cur" : "38.17"
,"s": "0"
,"ltt":"4:48PM EDT"
,"lt" : "Sep 1, 4:48PM EDT"
,"lt_dts" : "2015-09-01T16:48:00Z"
,"c" : "-1.34"
,"c_fix" : "-1.34"
,"cp" : "-3.39"
,"cp_fix" : "-3.39"
,"ccol" : "chr"
,"pcls_fix" : "39.51"
}]
您将货币存储在可以使用的隐藏div中。您已经在divContainer中使用它,所以请使用它。
更改
$("#currency").append("<div><b>" + stockInfo1.d + "</b></div>")
到
$("#currency").append("<div><b>" + $(divContainer).attr( 'data-currency') + "</b></div>");
注意:更改为stockInfo1.l_cur似乎并不显示货币。