Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с FireFox и скриптом (https://javascript.ru/forum/misc/23638-problema-s-firefox-i-skriptom.html)

yiooxir 30.11.2011 17:26

Проблема с FireFox и скриптом
 
Есть такая функция:
function Table_count() // добавляем введенные значения из первой области в таблицу
{
	var table_row=d.getElementById('mytab').getElementsByTagName('tr');
	var table_value=d.getElementById('mytab');
	for(var i=1; i<table_row.length; i++) {table_value.rows[i].cells[3].innerText=table_value.rows[i].cells[1].innerText*table_value.rows[i].cells[2].innerText;}
}


Короче эта фигня должна поочередно перебирать строчки таблицы, множить в каждой строчке вторую ячейку на третью и выводить результат в четвертой.
В общем в Chrome работает, а в FireFox нет. Че может быть?
PS. Если это важно, третья колонка в таблице скрыта : style="display: none"

trikadin 30.11.2011 17:34

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

yiooxir 30.11.2011 17:44

ОК. поправил. спасибо за подсказку.

trikadin 30.11.2011 21:25

В firefox св-во innerText определено только для элементов типа textNode. Используйте innerHTML.

yiooxir 30.11.2011 21:33

ОК. Огромное спасибо.
А подскажите плиз, как можно с помощью jQuery реализовать тоже самое.
Т.е. надо взять таблицу, перемножить в каждой строчке первую ячейку на вторую и вывести результат в третьей.
Я понимаю, что это скорее всего элементарно, но с jQuery только-что начал знакомиться, а весь интернет забит другими примерами.

ksa 01.12.2011 10:26

Цитата:

Сообщение от yiooxir
как можно с помощью jQuery реализовать тоже самое

Сделай сначала тестовый пример...

yiooxir 01.12.2011 10:50

А пример в самом начале.

function Table_count() // добавляем введенные значения из первой области в таблицу
{
    var table_length=d.getElementById('mytab').getElementsByTagName('tr').length;//вычисляем кол-во строк в таблице
    var table_value=d.getElementById('mytab');//берем таблицу
    for(var i=1; i<table_length; i++) {table_value.rows[i].cells[3].innerText=table_value.rows[i].cells[1].innerText*table_value.rows[i].cells[2].innerText;}
}//пробегаемся по всем строкам и делаем перемножение с занесением


Это на js, а как тоже самое реализовать на jquery ?

trikadin 01.12.2011 11:12

ksa намекаэ, что неплохо бы попробовать самому написать это с использованием jq. И только если не получится - писать сюды.

В любом случае, я тебе не помощник, ибо использую jq редко и мало, а лезть в справку лень. Ты вполне можешь сделать это сам))

ksa 01.12.2011 11:14

Цитата:

Сообщение от yiooxir
А пример в самом начале.

Это огрызок. :)
А пример состоит их хтмл разметки. Пример так же можно и запустить на исполение прямо тут на сайте... ;)

yiooxir 01.12.2011 14:48

Да мне не надо пример разбирать. Мне нужна подсказка по JQuery. Я вот понял, что с помощью него можно легко найти первое вхождение, последнее, четное и нечетное. А может ли он найти из коллекции конкретный элемент без пометки его id, а просто по индексу. К примеру:
$('#mytab td') возьмет все ячейки таблицы mytab. К примеру их там 20. Как с помощью JQ обратиться например к 5-й или 6-й.


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