Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.06.2014, 00:09
Интересующийся
Отправить личное сообщение для nanoT1m Посмотреть профиль Найти все сообщения от nanoT1m
 
Регистрация: 21.07.2012
Сообщений: 25

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

Пытаюсь упростить написание
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);
}

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

Подскажите пожалуйста в чем проблема.
Ответить с цитированием
  #2 (permalink)  
Старый 06.06.2014, 00:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

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>

Последний раз редактировалось рони, 06.06.2014 в 02:10.
Ответить с цитированием
  #3 (permalink)  
Старый 06.06.2014, 01:14
Интересующийся
Отправить личное сообщение для nanoT1m Посмотреть профиль Найти все сообщения от nanoT1m
 
Регистрация: 21.07.2012
Сообщений: 25

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

<!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>
Ответить с цитированием
  #4 (permalink)  
Старый 06.06.2014, 01:24
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Здесь:
Сообщение от nanoT1m
parseFloat(form.rows[i].cells[j].innerHTML)
, form - уже DOM-элемент. Так что:
function cell(form,i,j) {
    return parseFloat(form.rows[i].cells[j].innerHTML);
}
Ответить с цитированием
  #5 (permalink)  
Старый 06.06.2014, 01:50
Интересующийся
Отправить личное сообщение для nanoT1m Посмотреть профиль Найти все сообщения от nanoT1m
 
Регистрация: 21.07.2012
Сообщений: 25

Сообщение от Sweet Посмотреть сообщение
Здесь:

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

вроде form просто id таблицы
Ответить с цитированием
  #6 (permalink)  
Старый 06.06.2014, 01:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

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 в 02:10.
Ответить с цитированием
  #7 (permalink)  
Старый 06.06.2014, 01:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

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>

Последний раз редактировалось рони, 06.06.2014 в 02:10.
Ответить с цитированием
  #8 (permalink)  
Старый 06.06.2014, 01:52
Интересующийся
Отправить личное сообщение для nanoT1m Посмотреть профиль Найти все сообщения от nanoT1m
 
Регистрация: 21.07.2012
Сообщений: 25

рони,
спасибо за помощь!
Ответить с цитированием
  #9 (permalink)  
Старый 06.06.2014, 02:01
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

Только: var o = ...
Не надо какать в глобал.
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 06.06.2014, 07:57
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

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

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

Последний раз редактировалось Erolast, 06.06.2014 в 07:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переопределение родительской функции в $.widget DmitryK1 jQuery 0 04.10.2013 07:14
Переопределение переменной в функции tsigel Общие вопросы Javascript 5 06.09.2013 18:26
userjs переопределение текста функции qnx Opera, Safari и др. 2 16.10.2012 14:23
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21