2017-06-19 47 views
-1

認爲有可能實現這一點的一些JavaScript,但我迄今發現的一切似乎是非常有條件的。我試圖找出整個網站的一些信息,只要有-30這樣的負數,它總是以紅色顯示。這些值將通過php抓取數據輸出。因此,無論何時,在我的html頁面上,如果顯示的文本值是負值,則會變成紅色,這就是我正在嘗試執行的操作。任何時候一個負數在網站上,它的顏色爲紅色

不知道這是否足夠的細節,但基本上這個PHP輸出數據如:-30%。我有一個xhtml文件引用許多PHP文件刮擦和輸出值和數字。我試圖找到一種方法將一些腳本放入我的xhtml文件中,該文件說:如果此頁面上的任何值小於0,則爲紅色。等

任何人都知道這個的一些很好的例子?

我的測試編碼是這樣的:

XML:

<p><font color="grey">All time high</font></p> 
<?php include 'ref3.php';?> 
<?php include 'alltimenasfullnumber.php';?> 

    <p><font color="grey">Yearly growth</font></p> 
    <?php include 'nasyearlygrowth.php';?> 

PHP裁判:

<?php 

$doc = new DOMDocument; 

// foriegn stocks 
$doc->preserveWhiteSpace = false; 


$doc->strictErrorChecking = false; 
    $doc->recover = true; 

$doc->loadHTMLFile('http://www.money.cnn.com/data/markets/'); 

$xpath = new DOMXPath($doc); 

    $query = "//a[@class='world-market']"; 

    $entries = $xpath->query($query); 
foreach ($entries as $entry) { 
echo trim($entry->textContent); // use `trim` to eliminate spaces 
} 

?> 

回答

2

我認爲最好的辦法是來包裝你的XHTML頁面上的每個結果成鮮明標記(在我的例子中,前)。 在這裏有我的代碼,希望這將幫助你:

<html> 
<head> 
    <style type="text/css"> 
     .redFont { 
      color: red; 
     } 
    </style> 
    <script type="text/javascript"> 
     function redText() { 
      var elements = document.getElementsByTagName('pre') 
      for(i=0; i< elements.length; i++) 
      { 
       if(elements[i].innerHTML < 0) { 
        elements[i].classList.add('redFont'); 
       }; 
      } 
     } 

    </script> 
</head> 
<body> 
    <p> 
     <font color="grey">Yearly growth</font> 
    </p> 
    <pre><?php echo 30; ?></pre> 
    <pre><?php echo -12; ?></pre> 
    <pre><?php echo 15; ?></pre> 
    <script>redText();</script> 
</body> 

再見, 勞拉

+0

嘿勞拉,我真正體會到了工作的例子!我完全可以圍繞我正在做的事情做這件事。你一直非常有幫助謝謝。 – Masteryogurt

+0

實際上做了進一步的測試,似乎php ref輸出正確響應,並且總是被塗成紅色。想知道是否有替代pre。我正在用PHP打包 – Masteryogurt

+0

嘿威爾遜,我猜正在發生什麼: PHP是一種服務器端語言,只是在解析DOM後做出響應。所以,在javascript中比較空數字> 0,將永遠是真實的,而不是紅色。 這就是錯誤發生的原因。 將此代碼添加到您的PHP應該防止這種情況。 echo'' ; 根據此評論,如果你需要進一步解釋:) –

相關問題