Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Переопределение функции (https://javascript.ru/forum/events/47755-pereopredelenie-funkcii.html)

nanoT1m 06.06.2014 00:09

Переопределение функции
 
Здравствуйте!

Пытаюсь упростить написание
parseFloat(form.rows[i].cells[j].innerHTML)

и написать для этого функцию cell(form,i,j) которая выводила бы содержимое ячейки, а также позволяла бы изменять содержимое ячейки на подобие функции innerHTML.

Пытался
function cell(form,i,j) {
    o = document.getElementById(form);
    return parseFloat(o.rows[i].cells[j].innerHTML);
}

но безрезультативно.

Подскажите пожалуйста в чем проблема.

рони 06.06.2014 00:41

nanoT1m,
и что не так?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<table id="test">
  <tr>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td>4</td>
  </tr>
</table>
<script>
    function cell(form,i,j) {
    var o = document.getElementById(form);
    return parseFloat(o.rows[i].cells[j].innerHTML);
}
  alert(cell("test",1,1));
</script>
</body>

</html>

nanoT1m 06.06.2014 01:14

рони,
то что не могу при помощи этой функции присвоить ячейке какое либо значение =(

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<table id="test">
  <tr>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td>4</td>
  </tr>
</table>
<script>
    function cell(form,i,j) {
    o = document.getElementById(form);
    return parseFloat(o.rows[i].cells[j].innerHTML);
}
  cell("test",1,1) = 20;
</script>
</body>

</html>

Sweet 06.06.2014 01:24

Здесь:
Цитата:

Сообщение от nanoT1m
parseFloat(form.rows[i].cells[j].innerHTML)

, form - уже DOM-элемент. Так что:
function cell(form,i,j) {
    return parseFloat(form.rows[i].cells[j].innerHTML);
}

nanoT1m 06.06.2014 01:50

Цитата:

Сообщение от Sweet (Сообщение 315216)
Здесь:

, form - уже DOM-элемент. Так что:
function cell(form,i,j) {
    return parseFloat(form.rows[i].cells[j].innerHTML);
}


вроде form просто id таблицы :-?

рони 06.06.2014 01:50

nanoT1m,
:-?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<table id="test">
  <tr>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td>4</td>
  </tr>
</table>
<script>
    function cell(form,i,j) {
   var o = document.getElementById(form);
    return o.rows[i].cells[j];
}
  cell("test",1,1).innerHTML = 20;
</script>
</body>

</html>

рони 06.06.2014 01:52

nanoT1m,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<table id="test">
  <tr>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td>4</td>
  </tr>
</table>
<script>
    function cell(form,i,j, val) {
    var o = document.getElementById(form);
    o.rows[i].cells[j].innerHTML = val;
}
  cell("test",1,1,20) ;
</script>
</body>

</html>

nanoT1m 06.06.2014 01:52

рони,
спасибо за помощь!

Aetae 06.06.2014 02:01

Только: var o = ...
Не надо какать в глобал.

Erolast 06.06.2014 07:57

Цитата:

подобие функции innerHTML.
innerHTML - свойство, а не функция. Функция - это, например reload в
window.location.reload(true);

innerHTML - свойство:
window.body.innerHTML = "Nothing";


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