使用jQuery查找XML节点并放入现有的HTML表

前端之家收集整理的这篇文章主要介绍了使用jQuery查找XML节点并放入现有的HTML表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从 XML Feed提取一些股票信息并将其写入我网站上的一些现有div.

更新:由于CORS,我现在使用的是PHP代理.请参阅下面的代码.

更新2:好的,到达那里.我下面更新的jQuery正在为第一个stockPrice变量工作,但不适用于剩下的三个.为所有这些数据提取的数据都是数字,所以我不确定为什么只有一个数据有效.

这是我的HTML:

@H_502_8@<div class="sidenavwrap"> <div class="sidenavhd"><p class="stocktitle">XXXX (Common Stock)</div> <div class="ctcol3"><p class="stocklft">Exchange</p></div> <div class="ctcol4"><p class="stocklft">NASDAQ (US Dollar)</p></div> <div id="stock-divider"></div> <div class="ctcol3"><p class="stocklft">Price</p></div> <div class="ctcol4"><p class="stocklft" id="stockPrice"></p></div> <div id="stock-divider"></div> <div class="ctcol3"><p class="stocklft">Change (%)</p></div> <div class="ctcol4"><p class="stockpriceneg" id="changePercent"></p></div> <div id="stock-divider"></div> <div class="ctcol3"><p class="stocklft">Volume</p></div> <div class="ctcol4"><p class="stocklft" id="stockVolume"></p></div> <div id="stock-divider"></div> <p style="text-align: center;">Minimum 10 minute delay</p> <div id="stock-divider"></div> <br><br><br> <!-- end sidenavwrap --></div>

这是我的proxy.PHP

@H_502_8@// Set return content type header('Content-type: application/xml'); // Website url to open $url = 'http://xml.corporate-ir.net/irxmlclient.asp?compid=XXXXXX&reqtype=quotes'; // Get the content $handle = fopen($url,"r"); // If there is something,read and return if ($handle) { while (!feof($handle)) { $buffer = fgets($handle,4096); echo $buffer; } fclose($handle); }

这是我通过代理提取数据的jQuery:

@H_502_8@<script> $(document).ready(function(){ $.get("includes/proxy.PHP",function (data){ // Some callback functions var stockPrice = ($(data).find('Trade').text()); var changeValue = ($(data).find('Change').text()); var stockVolume = ($(data).find('Volume').text()); var changePercentLong = (changeValue / (stockPrice - changeValue)) * 100; var changePercent = changePercentLong.toFixed(2); $('#stockPrice').html('$' + stockPrice); $('#changePercent').html(changeValue + ' (' + changePercent + '%)'); $('#stockVolume').html(stockVolume); if (changeValue >= 0) { $('#changePercent').removeClass('stockpriceneg').addClass('stockprice'); } else { $('#changePercent').removeClass('stockprice').addClass('stockpriceneg'); } }); }); </script>

更新2:仍然没有在控制台中出现任何错误,现在我有第一个变量正确显示,但其他变量只显示0(它们应该是-0.23,一些数学与前一个变量,分别为5039270):

我认为这只是我的jQuery中的一个语法错误,但是我在JS / jQuery中发现它并不够完善.我确信更有经验的人可以在一秒钟内发现问题.谁能告诉我这里我做错了什么?非常感谢!

解决方法

这是jQuery最终使用我在原始问题中发布的PHP代理: @H_502_8@<script> $(document).ready(function(){ $.get("includes/proxy.PHP",function (data){ // Some callback functions var stockPrice = ($(data).find('Trade').text()); var changeValue = ($(data).find('Change').text()); var stockVolume = ($(data).find('Volume').text()); var changePercentLong = (changeValue / (stockPrice - changeValue)) * 100; var changePercent = changePercentLong.toFixed(2); $('#stockPrice').html('$' + stockPrice); $('#changePercent').html(changeValue + ' (' + changePercent + '%)'); $('#stockVolume').html(stockVolume); if (changeValue >= 0) { $('#changePercent').removeClass('stockpriceneg').addClass('stockprice'); } else { $('#changePercent').removeClass('stockprice').addClass('stockpriceneg'); } }); }); </script>
原文链接:https://www.f2er.com/jquery/178370.html

猜你在找的jQuery相关文章