Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как узнать значение в недрах таблицы? (https://javascript.ru/forum/dom-window/52291-kak-uznat-znachenie-v-nedrakh-tablicy.html)

raks123 12.12.2014 00:11

Как узнать значение в недрах таблицы?
 
Есть таблица, мне нужно значение в одной из ячеек, но конструкция такая, что я не знаю как это сделать
<tr class="Details" id="1_14" data-id="14" data-currency="1">
<td># 1</td>
<td><span class="HiPart">98
<span class="MiddlePart">76</span>
<span class="LowPart">00</span>....


В общем мне нужно достать циферки 98 76 00 для скрипта к этой таблице. У кого какие предложения? :write:

krutoy 12.12.2014 01:51

а если вот так, допустим, получаете innerHTML таблицы, а затем
s=' <tr class="Details" id="1_14" data-id="14" data-currency="1"> <td># 1</td> <td><span class="HiPart">98 <span class="MiddlePart">76</span> <span class="LowPart">00</span>....'

re=/>\d+/g
alert(s.match(re).join("").split(">").join(" "))
// 98 76 00

или
s=' <tr class="Details" id="1_14" data-id="14" data-currency="1"> <td># 1</td> <td><span class="HiPart">98 <span class="MiddlePart">76</span> <span class="LowPart">00</span>....'

alert(s.split(/>(\d+)/).filter(function(el){return /^\d+$/.test(el)}))
//  [ '98', '76', '00' ]

рони 12.12.2014 02:00

raks123,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
       alert($('.Details td:eq(1)').text())
});


  </script>
</head>

<body> <table>
<tr class="Details" id="1_14" data-id="14" data-currency="1">
<td># 1</td>
<td><span class="HiPart">98</span>
<span class="MiddlePart">76</span>
<span class="LowPart">00</span></td></tr>

	</table>
</body>

</html>

Vlasenko Fedor 12.12.2014 02:49

Еще вариант
<script>
  window.onload = function () {
    var allSp = document.querySelectorAll('tr.Details span');
    for (var txt = '', i = 0; i < allSp.length; i++)
    txt += allSp[i].innerHTML.replace(/<.*?>/g, '') + ' ';
    alert(txt);
  }
</script>
<body>
  <table>
    <tr class="Details" id="1_14" data-id="14" data-currency="1">
      <td># 1</td>
      <td>
        <span class="HiPart">98</span>
        <span class="MiddlePart">76</span>
        <span class="LowPart">00</span>
      </td>
    </tr>
  </table>
</body>

krutoy 12.12.2014 02:54

Poznakomlus,
<script>
  window.onload = function () {
    var allSp = document.querySelectorAll('tr.Details span');
    for (var txt = '', i = 0; i < allSp.length; i++)
    txt += allSp[i].innerHTML.replace(/<.*?>/g, '') + ' ';
    alert(txt);
  }
</script>
<body>
  <table>
    <tr class="Details" id="1_14" data-id="14" data-currency="1">
      <td># 1</td>
      <td>
        <span class="HiPart">98</span>
        <span class="MiddlePart">76</span>
        <span class="LowPart">00</span> 
         <span class="LowPart">foo</span>

      </td>
    </tr>
  </table>
</body>

Хотя для задачи тса ваш код может и подойдет, хз, что там у него за таблица, на самом деле:) это я просто докапываюсь:)

Vlasenko Fedor 12.12.2014 03:16

krutoy,
<script>
  window.onload = function () {
    var allSp = document.querySelectorAll('tr.Details span');
    for (var txt = '', i = 0; i < allSp.length; i++)
      txt += allSp[i].innerHTML.replace(/\D/g, '');
    alert(txt);
  }
</script>
<body>
  <table>
    <tr class="Details" id="1_14" data-id="14" data-currency="1">
      <td># 1</td>
      <td>
        <span class="HiPart">98</span>
        <span class="MiddlePart">76</span>
        <span class="LowPart">00</span>
        <span class="LowPart">foo</span>
      </td>
    </tr>
  </table>
</body>


Часовой пояс GMT +3, время: 20:49.