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

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

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

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

这是我的HTML:

<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

// 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:

<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代理:
<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相关文章