Javascript.RU

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

Вставить текст в таблицу & задать id <td>
Здравствуйте.
Возникло 2 небольших вопроса.

1. Как разделать таблицы с одинаковыми именами чтоб не считать все элементы на странице а считать элементы конкретной таблицы ?

<html>

<head>
</head>

<body>
<table border="1" width="100%" name="tbl">
	<tr>
		<td>1</td>
		<td>2</td>
	</tr>
	<tr>
		<td>3</td>
		<td>4</td>
	</tr>
</table>

<table border="1" width="100%" name="tbl">
	<tr>
		<td>5</td>
		<td>6</td>
	</tr>
	<tr>
		<td>7</td>
		<td>8</td>
	</tr>
</table>

<script>
var tbl = document.getElementsByName('tbl');
var td = document.getElementsByTagName('td');
td[5].innerHTML = 'TEXT';
</script>
</body>

</html>


В данном коде приходиться считать все <td> чтоб указать конкретный.
Если пытаюсь считать <td> конкретной таблицы то не чего не выходит, сам код:

<script>
var tbl = document.getElementsByName('tbl');
var td = document.getElementsByTagName('td');
tbl[1].td[5].innerHTML = 'TEXT';
</script>


2. Второй вопрос, возможно ли скриптом присваивать идентификатор конкретной <td> ?
Если да то покажите плиз пример кода.
Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 18.07.2012, 21:17
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от lamer Посмотреть сообщение
Здравствуйте.
Возникло 2 небольших вопроса.

1. Как разделать таблицы с одинаковыми именами чтоб не считать все элементы на странице а считать элементы конкретной таблицы ?

<html>

<head>
</head>

<body>
<table border="1" width="100%" name="tbl">
	<tr>
		<td>1</td>
		<td>2</td>
	</tr>
	<tr>
		<td>3</td>
		<td>4</td>
	</tr>
</table>

<table border="1" width="100%" name="tbl">
	<tr>
		<td>5</td>
		<td>6</td>
	</tr>
	<tr>
		<td>7</td>
		<td>8</td>
	</tr>
</table>

<script>
var tbl = document.getElementsByName('tbl');
var td = document.getElementsByTagName('td');
td[5].innerHTML = 'TEXT';
</script>
</body>

</html>


В данном коде приходиться считать все <td> чтоб указать конкретный.
Если пытаюсь считать <td> конкретной таблицы то не чего не выходит, сам код:

<script>
var tbl = document.getElementsByName('tbl');
var td = document.getElementsByTagName('td');
tbl[1].td[5].innerHTML = 'TEXT';
</script>


2. Второй вопрос, возможно ли скриптом присваивать идентификатор конкретной <td> ?
Если да то покажите плиз пример кода.
Спасибо.
1)
document.getElementsByName("tbl")[0].getElementsByTagName("td").length;

2)
document.getElementsByName("tbl")[0].getElementsByTagName("td")[0].setAttribute("id", "id1");
Ответить с цитированием
  #3 (permalink)  
Старый 18.07.2012, 21:19
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от lamer
tbl[1].td[5].innerHTML = 'TEXT';
tbl[1].getElementsByTagName('td')[3].innerHTML = 'TEXT'; // четвертый элемент во второй таблице
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 18.07.2012, 22:11
Профессор
Отправить личное сообщение для lamer Посмотреть профиль Найти все сообщения от lamer
 
Регистрация: 08.02.2012
Сообщений: 216

lord2kim, devote, Проблема в IE, пишет:
Ошибка: Не удалось получить значение свойства "getElementsByTagName": значением объекта является NULL или он не определен

В вот если присваиваю таблицы идентификатор и по нему делаю то проблем нет, поправить не получиться ? Это так getElementsByTagName на IE рягирует ?
Ответить с цитированием
  #5 (permalink)  
Старый 18.07.2012, 22:21
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

lamer, попробуйте так
document.getElementsByTagName("table")[0].getElementsByTagName("td").length;

или обязательно нужно по name ?
а в jQuery работает...
<html>
 
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
 
<body>
<table border="1" width="100%" name="tgl">
    <tr>
        <td name="a">1</td>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
        <td>4</td>
    </tr>
</table>

<table border="1" width="100%" name="tgl">
    <tr>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td name="a">7</td>
        <td>8</td>
    </tr>
</table>

<script>
alert($("[name='tgl']").length);
</script>
</body>
 
</html>

Последний раз редактировалось lord2kim, 18.07.2012 в 22:43.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 12:03
lastChild работает в IE, как тут быть? Puaris83 Firefox/Mozilla 4 17.04.2010 23:56
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 17:02