Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2009, 22:38
Интересующийся
Отправить личное сообщение для Andrey2005 Посмотреть профиль Найти все сообщения от Andrey2005
 
Регистрация: 28.05.2009
Сообщений: 10

Не могу получить доступ к ячейке таблицы
начал изучать JavaScript, но застрял, помогите вод код
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table id="tab">
<tr><th>1столбец</th><th>2столбец</th><th>3столбец</th></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>4</td><td>5</td><td>6</td></tr>
</table>
<script type="text/javascript">
var tabObj = document.getElementById("tab");
var bodyObj = tabObj.tBodies[0];
var rowObj = bodyObj.rows[1];
var cellObj = rowObj.cells[0];
cellObj.nodeValue = "Йа Йачейко";
</script>
</body>
</html>

Текст в ячейкае не меняется, где ошибка ?
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2009, 22:54
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

innerHTML вместо nodeValue
cellObj.innerHTML = "Йа Йачейко";

nodeValue-свойство только текстовых нод, а вы пытаетесь его поменять у тега

либо так, если вы хотите работать именно с текстовой нодой:
cellObj.childNodes[0].nodeValue = "Йа Йачейко";
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2009, 23:03
Интересующийся
Отправить личное сообщение для Andrey2005 Посмотреть профиль Найти все сообщения от Andrey2005
 
Регистрация: 28.05.2009
Сообщений: 10

Сообщение от Gvozd
innerHTML вместо nodeValue

cellObj.innerHTML = "Йа Йачейко";


nodeValue-свойство только текстовых нод, а вы пытаетесь его поменять у тега

либо так, если вы хотите работать именно с текстовой нодой:

cellObj.childNodes[0].nodeValue = "Йа Йачейко";
Спасибо, я просто читаю книгу В.Дронова там на 190 стр. такой пример, вот он и ввёл меня в заблуждение.
Однако в следующем коде всё отрабатывается, почему ?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p id="par">Привет</p>
<script type="text/javascript">
var parObj = document.getElementById("par");
var parText = parObj.firstChild;
parText.nodeValue = "Hello";
</script>
</body>
</html>

Тоже ведь у тега меняю

Последний раз редактировалось Andrey2005, 14.06.2009 в 23:08.
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2009, 23:16
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

Сообщение от Andrey2005
Тоже ведь у тега меняю
вообще-то нет
после кода
var parObj = document.getElementById("par");
var parText = parObj.firstChild;

parObj ссылается на тег <p id="par" />
partext ссылается на первого потомка тега <p id="par" />, который является текстовой нодой

для того чтобы прояснить для себя этот очень важный момент, прочитайте цикл статей http://javascript.ru/start/dom
Ответить с цитированием
  #5 (permalink)  
Старый 14.06.2009, 23:34
Интересующийся
Отправить личное сообщение для Andrey2005 Посмотреть профиль Найти все сообщения от Andrey2005
 
Регистрация: 28.05.2009
Сообщений: 10

Спасибо, за разъяснение. Обязательно прочту Ваши рекомендации
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу получить высоту из css asci Общие вопросы Javascript 5 30.03.2009 12:31
Как получить ширину таблицы в пикселях, если в HTML она указана в процентах JackM Общие вопросы Javascript 2 13.02.2009 09:15
Не могу получить document.selection.createRange() при написании плагина SashaBorandi jQuery 0 14.01.2009 05:48