2017-07-26 121 views
0

這是我的表格,我希望獲得「Spielzeit」和「Coins」的價值。JavaScript,獲得沒有ID的表格的價值

我已經嘗試了很多像

document.querySelector("div.page Spielzeit"); 

document.getElementById('page').getElementsByTagName('th'); 

document.querySelectorAll("#page th"); 

但毫無效果。

我無法找到我的表,因爲沒有表ID。

也許你知道如何「找到」我的價值。

感謝

<div id="page"> 
    <table style="margin-left: 125px; margin-top:50px; width: 300px;"> 
     <tbody> 
      <tr> 
       <th style="text-align: left;">Benutzername:</th> 
       <th style="color: #9e7538; text-align: right;">Dantes999</th> 
      </tr> 
      <tr> 
       <th style="text-align: left;">Reich:</th> 
       <th style="color: #9e7538; text-align: right;">Not empire</th> 
      </tr> 
      <tr> 
      </tr> 
      <tr> 
       <th style="text-align: left;">Charaktere:</th> 
       <th style="color: #9e7538; text-align: right;">0</th> 
      </tr> 
      <tr> 
       <th style="text-align: left;">Spielzeit:</th> 
       <th style="color: #9e7538; text-align: right;"> Minuten</th> 
      </tr> 
      <tr> 
       <th style="text-align: left;">Coins:</th> 
       <th style="color: #9e7538; text-align: right;">0 I-Coins</th> 
      </tr> 
      <tr> 
       <th style="text-align: left;">Coins:</th> 
       <th style="color: #9e7538; text-align: right;">0 V-Coins</th> 
      </tr> 
      <tr> 
       <th style="text-align: left;">Lagerpasswort:</th> 
       <th style="color: #9e7538; text-align: right;">000000</th> 
      </tr> 
      <tr> 
       <th style="text-align: left;">Loeschcode:</th> 
       <th style="color: #9e7538; text-align: right;">1234567</th> 
      </tr> 
     </tbody> 
    </table> 
</div> 
+0

爲什麼你不能只在表中添加一個ID? –

+0

你想找什麼價值? Minuten ??? – baao

+0

當然第一個選擇器「不起作用」,因爲沒有標籤名稱爲「Spielzeit」的元素。另外兩個應該返回元素...但是你必須對這些元素進行一些額外的過濾以找到相關的元素。 – CBroe

回答

1

如果有您的網頁上只有一個表,document.querySelector("table").get(0)應該給你的表格。

二,page是你的HTML中的一個id,而不是一個類。因此,它應與#選擇不.

您可以將HTML改成這樣:

<div id="page"> 

<table style="margin-left: 125px; margin-top:50px; width: 300px;"> 
    <tbody><tr> 
     <th class="item" style="text-align: left;">Benutzername:</th> <th class="value" style="color: #9e7538; text-align: right;">Dantes999</th> 
    </tr> 
    <tr> 
     <th class="item" style="text-align: left;">Reich:</th> <th 
class="value" style="color: #9e7538; text-align: right;">Not empire</th> 
    </tr><tr> 
    </tr><tr> 
     <th class="item" style="text-align: left;">Charaktere:</th> 
<th class="value" style="color: #9e7538; text-align: right;">0</th> 
    </tr> 
    <tr> 
     <th class="item" style="text-align: left;">Spielzeit:</th> <th 
    class="value" style="color: #9e7538; text-align: right;"> Minuten</th> 
    </tr> 
    <tr> 
     <th class="item" style="text-align: left;">Coins:</th> <th 
class="value" style="color: #9e7538; text-align: right;">0 I-Coins</th> 
    </tr> 
    <tr> 
     <th class="item" style="text-align: left;">Coins:</th> <th 
class="value" style="color: #9e7538; text-align: right;">0 V-Coins</th> 
    </tr> 

    <tr> 
     <th class="item" style="text-align: left;">Lagerpasswort:</th> <th class="value" style="color: #9e7538; text-align: right;">000000</th> 
    </tr> 
    <tr> 
     <th class="item" style="text-align: left;">Loeschcode:</th> <th class="value" style="color: #9e7538; text-align: right;">1234567</th> 
    </tr> 

    </tbody></table> 

現在你可以使用document.querySelector(".item[text='Spielzeit']);來選擇相應的項目,並獲得它的文本的下一個元素該值

所以,你的代碼應該是:

var elem = document.querySelector(".item[text='Spielzeit']"); 
var value = elem.parentNode.querySelectorAll('.value').html; 
+0

我不能改變表.. 我只是想獲得一些元素... 在植酮香港專業教育學院做過類似 find_between(內容, 「金幣:」, 「
」): 開始= s.index(第一)+ LEN(第一) 結束= s.index(最後啓動) 返回s [開始:結束] – V0lvox337