2017-07-26 27 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