2016-07-05 55 views
-1

所以我在做什麼是拉動電池電壓和電池從MySQL數據庫中data.php處理數據的狀態,並把該成JSON數組所有的罰款。當我進入Javascript方面時,我陷入困境。jQuery的類和innerHTML的

2個問題: 問題1:如何插入值到HTML的id電壓不刪除的跨度?

HTML代碼:

 <div id="voltState" class="tile-box bg-green"> 
      <div class="tile-header"> 
       Battery Status 
       <div class="float-right"> 
        <i class="glyph-icon icon-bolt"></i> 
        Green 
       </div> 
      </div> 
      <div class="tile-content-wrapper"> 
       <i class="glyph-icon icon-database"></i> 
       <div id="voltage" class="tile-content"> 
        <span>volts</span> 
       </div> 
      </div> 
     </div> 

問題2:類=「瓦盒BG-綠色」>我想從JavaScript的變種狀態來代替,所以它看起來像類=「瓦盒BG-(狀態這裏VAR)「>

$(document).ready(function() { 
     sensorData(); 
    }); 

    function sensorData(){ 
     $.ajax({ 
      type:'GET', 
      url:"data.php", 
      data:"json", 
      success:function(sensor) { 
       //document.write(sensor); 
       var volt = sensor[0]; 
       var status = sensor[1]; 
       var date = sensor[2]; 

       document.getElementById('voltage').innerHTML = (volt); 
       $("#voltState").toggleClass('bg-green bg-(STATUS VAR HERE??)'); 
      }, 
     dataType:'json' 
     }); 
    } 
    setInterval(sensorData, 3000); 
+1

請每個帖子只提一個問題。 –

+1

'(「bg-green bg - 」+ status)' – dandavis

+0

Q1。使用$('#yourSelector')。append('your html') Q2。使用$('#someSelector')。removeClass('someClass')。addClass('someOtherClass') – SoluableNonagon

回答

1
  1. 您可以使用,如果你前或後的值要跨度基於$("#voltage").append(volt)$("#voltage").prepend(volt)上。在這種情況下,我假設你想要伏特後的跨度,所以你可以使用第二個代碼。如果你想一個新的跨度內的值,你也可以使用:

$( 「#電壓」)預定($( 「」)文本(伏)。)。

  • 可以存儲先前狀態值在變量可以說pastStatus。所以,一旦你已經設置
  • $("#voltState").removeClass('bg-'+pastStatus).addClass('bg-'+status); pastStatus = status

    注意:當你想添加和刪除同一類之間切換 toggleClass使用。它不能在這種情況下使用,因爲你想添加一個類並刪除另一個類。

    +0

    感謝您的反饋在玩過遊戲後似乎不工作。我可能沒有做好解釋。將告訴你我是如何顯示電壓文本的: – Bibsta

    +0

    Prepend確實按照我的要求進行了操作,但它並沒有刪除最後一個值,所以我最終得到了負載電壓,例如:12.4312.4312.4312.4312.4312。 4312.43伏特 – Bibsta

    +0

    你試過在第一行還是在第四行?我只注意到當我寫 .. 時,第四行發生了變化,是的,它會保持跨度..但你是否需要跨度?或之前? –

    0
    document.getElementById('voltage').appendChild(volt); 
    

    document.getElementById('voltage').innerHTML = '<span>'+volt+'</span>';