Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Автонумерация в таблице (https://javascript.ru/forum/css-html-internet-explorer/46002-avtonumeraciya-v-tablice.html)

Lavdislav 24.03.2014 19:00

Автонумерация в таблице
 
Добрый день!

Вот такой вот скриптик, даже два, проблема в том, что в IE 9 выкидывает ошибку Microsoft JScript runtime error: Unable to get value of the property 'children': object is null or undefined, в Firefox прекрасно работает, это как :D

<script>
        var table1 = document.getElementById('induzd'),
        rows1 = table1.getElementsByTagName('tr'),
        text1 = 'textContent' in document ? 'textContent' : 'innerText';

        for (var i1 = 1, len1 = rows1.length; i1-1 < len1; i1++) {
            rows1[i1].children[0][text1] = i1 + rows1[i1].children[0][text1];
        }
    </script>

    <script>
        var table1 = document.getElementById('nepieckompvert'),
        rows1 = table1.getElementsByTagName('tr'),
        text1 = 'textContent' in document ? 'textContent' : 'innerText';

        for (var i1 = 2, len1 = rows1.length; i1 - 1 < len1; i1++) {
            rows1[i1].children[0][text1] = i1 - 1 + rows1[i1].children[0][text1];
        }
    </script>

рони 24.03.2014 19:02

Lavdislav,
а html?

рони 24.03.2014 19:19

Lavdislav,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<table id="induzd">
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>
<script>
        var table1 = document.getElementById('induzd'),
        rows1 = table1.rows,
        text1 = 'textContent' in document ? 'textContent' : 'innerText';
        for (var i1 = 1; i1 < rows1.length; i1++) {
            rows1[i1].cells[0][text1] = i1 + rows1[i1].cells[0][text1];
        }
</script>
</body>

</html>

Vlasenko Fedor 24.03.2014 19:42

а сразу написать
<ol>
      <li></li>
      <li></li>
      <li></li>
</ol>

что нет возможностей?

рони 24.03.2014 19:48

Poznakomlus,
а как это с таблицей связано?

Vlasenko Fedor 25.03.2014 01:02

Цитата:

Сообщение от рони (Сообщение 304041)
Poznakomlus,
а как это с таблицей связано?

Никак. Таблица наверняка формируется. Так, что либо на сервере. Либо списком, без извращений

Lavdislav 25.03.2014 10:37

Цитата:

Сообщение от рони (Сообщение 304036)
Lavdislav,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<table id="induzd">
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>
<script>
        var table1 = document.getElementById('induzd'),
        rows1 = table1.rows,
        text1 = 'textContent' in document ? 'textContent' : 'innerText';
        for (var i1 = 1; i1 < rows1.length; i1++) {
            rows1[i1].cells[0][text1] = i1 + rows1[i1].cells[0][text1];
        }
</script>
</body>

</html>

Пишу в Visual Studio 11, MVC 4, в данном случае вместо children ругается на cells с той же ошибкой - null or undefined, из-за библиотеки не может быть? В Firefox прекрасно работает.

рони 25.03.2014 11:09

Lavdislav,
данный код работает в любом ие http://caniuse.com/#search=cells либо вы обращитесь к таблице когда в ней нет ячеек

Lavdislav 25.03.2014 11:31

Вложений: 1
Цитата:

Сообщение от рони (Сообщение 304109)
Lavdislav,
данный код работает в любом ие http://caniuse.com/#search=cells либо вы обращитесь к таблице когда в ней нет ячеек

Странно... Вот код таблицы (не судите строго, знаю про стили, но это потом:
<table id="induzd" style="font-size: 8px; width: 1000px; margin-top: 5px; border: 2px solid black;">

        <caption style="text-align: left;"><b><font size="2px" >Uzdevumi</font></b></caption>

        <tr style="height: 30px; vertical-align: top; text-align: center;">
            <td style="width: 15px; border: 1px solid black;">Nr.</td>
            <td style="width: 365px; border: 1px solid black;">Individuālais</td>
            <td style="width: 210px; border: 1px solid black;">Atsauce</td>
            <td style="width: 60px; border: 1px solid black;">Termiņš</td>
            <td style="width: 120px; border: 1px solid black;">Atbildīgais</td>
            <td style="width: 115px; border: 1px solid black;">Piedalās</td>
            <td style="width: 115px; border: 1px solid black;">Koment</td>
        </tr>

        @if (Model.DIVModel.Divuzdevumi != null)
                {
                    foreach (var uzdevumi in Model.DIVModel.Divuzdevumi)
                    {
                    <tr>
                         <td style="border: 1px solid black;">yyy</td>
                         <td style="border: 1px solid black">@Html.DisplayFor(model => uzdevumi.subject)</td>
                         <td style="border: 1px solid black"></td>
                         <td style="border: 1px solid black">@Html.DisplayFor(model => uzdevumi.bf_goaltasks_enddata)</td>
                         <td style="border: 1px solid black"></td>
                         <td style="border: 1px solid black"></td>
                         <td style="border: 1px solid black">@Html.DisplayFor(model => uzdevumi.bf_goaltasks_izpdesc)</td>
                    </tr>
                    }
                }
</table>

рони 25.03.2014 11:39

Lavdislav,
увы вашим языкам необучен, неподскажу.:(


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