2015-08-26 41 views
0

有了這個Javascript代碼:的JavaScript/XML/HTML清除和重寫

  arrLocations = xmlHTTP.responseText.split("~"); 
     for (i = 0; i < arrLocations.length; i++){ 

      // Extract the info for this button. 
      strLocation = arrLocations[i]; 
      arrLocation = strLocation.split(";"); 

      // Populate the contents of this button. 
      elTemp = document.getElementById('loc' + arrLocation[0]); 
      if (arrLocation[2].length > 0) 
       elTemp.innerHTML = elTemp.innerHTML + '<br><span style="font-size: 12px; font-weight: bold;">' + arrLocation[2] + ' ' + arrLocation[3] + '</span><br><span style="font-size: 10px;"> (' + arrLocation[4] + ')' + '</span><br>'; 
      else 
       elTemp.innerHTML = arrLocation[1]; 

     } 

我寫一個按鈕裏面......要顯示的名稱和日期等.. 就像這個例子:

enter image description here

這裏是按鈕HTML:

<table align="center" cellpadding="3" cellspacing="3" border="0"> 

         <tr> 
          <td width="30%" align="center" valign="middle" id="loc1" nowrap style="cursor: hand; font-size: 36px; border: 9px outset orangered;" class="bodyText" onClick="updateLocationTable(1);">Finesse</td> 

          <td width="5%" align="center" valign="middle" nowrap class="bodyText"></td> 
          <td width="30%" align="center" valign="middle" id="loc2" nowrap style="cursor: hand; font-size: 36px; border: 9px outset orangered;" class="bodyText" onClick="updateLocationTable(2);">Rework</td> 

          <td width="5%" align="center" valign="middle" nowrap class="bodyText"></td> 
          <td width="30%" align="center" valign="middle" id="loc3" nowrap style="cursor: hand; font-size: 36px; border: 9px outset orangered;" class="bodyText" onClick="updateLocationTable(3);">OP/Masking</td> 
         </tr> 
         <tr> 
          <td align="center" valign="middle" colspan="3" nowrap class="bodyText">&nbsp</td> 
         </tr> 

       </table> 

我問題在於每次我調用這個函數時......它並不清楚按鈕中已有的內容,它只是寫在最上面......如何在我進行另一次重寫之前清除該按鈕的HTML內部的內容?

當我做其他加載,它結束了看起來像這樣:它讓前面的寫,然後再重寫只是增加一個......所以,如果A和B都記錄屏幕顯示A + B ...如果C嘗試登錄......它使A + B,但再改寫A + B,並增加了ç所以我們結束了A + B + A + B + C

enter image description here

+1

請告訴我們按鈕的實際HTML,然後顯示出它是什麼樣子你做出改變,你希望它看起來像你做出改變後什麼了。我們需要在HTML之前和之後看到所需的內容。然後,我們可以建議正確的代碼來做到這一點。而且,在發佈HTML時,不要顯示模板化的東西,請顯示瀏覽器看到的實際生成的HTML。這就是你的Javascript實際上看到的東西,所以這就是我們需要看到的。 – jfriend00

+0

我發現了一些鏈接,可以幫助你: [MDN Node/RemoveChild](https://developer.mozilla.org/en-US/docs/Web/API/Node/removeChild), [Stack Overflow remove all子節點的子元素](https://stackoverflow.com/questions/3955229/remove-all-child-elements-of-a-dom-node-in-javascript)。但是,正如jfriend00所說,我們需要查看您的代碼,以便知道問題出在哪裏。 – JeanMel

+0

@JeanMel - 這兩項都是類似於我試圖做的,但他們所提出的建議如何清除與我的對象節點......我並不想這樣做,我想保留這些信息,因爲我將一直在寫這些信息......我真正想要做的,就是清楚在之前的代碼中編寫的HTML,然後再寫我的全新信息。 –

回答

0

只是讓大家知道..我解決了這個問題用一個簡單的location.reload()

我把這個按鈕被按下時被調用函數內部...這使附加寫入發生,但也refres hed只加載數據庫中的內容的頁面,無論如何這是正確的信息......我基本上只是隱藏了問題,但它適用於我需要的內容!

感謝所有有用的建議!

+0

特別感謝@ jfriend00誰告訴我顯示實際加載的源代碼,這讓我產生了這個想法! –