Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   редактирование элемента по id (https://javascript.ru/forum/dom-window/4305-redaktirovanie-ehlementa-po-id.html)

sat-lin 10.07.2009 09:50

редактирование элемента по id
 
Уважаемые камрады подсобите советом!:help:
В двух словах есть сформированная страничка html
В ней по мимо всякой лабуды есть таблица без имени, но с id! В нее заполняются какие либо данные! При ентом у каждой строчки есть ячейка с датой! А теперь вопрос на засыпку!!!
Как можно средствами JS сделать поиск в таблице по дате, что бы в итоге нужные мне строчки исчезали! :cray:

Riim 10.07.2009 10:43

Наброски:
var date = new Date(), trs = table.getElementsByTagName('tr'), i = trs.length;
while (i) {
	var td = trs[--i].getElementsByTagName('td')[10];
	if (Date.parse(td.innerHTML) == date) td.parentNode.removeChild(td);
}


Вот еще: http://webew.ru/articles/598.webew

[off]
Я только что узнал, что есть тег <u>
Странно что здесь: http://htmlbook.ru/html/ про него ни слова.
[/off]

Snowcore 10.07.2009 10:48

Советую вам использовать jQuery.

Для ячейки с датой задайте какой-либо класс, например date

<td class="date">...

А также записывайте дату в атрибут title ячейки.

Искать ячейку можно при помощи селектора jQuery (получаем ячейку с искомой датой):
$('td.data[title="дата_для_поиска"]')


Можно удалить целую строку - обращаемся к родительскому элементу:

$('td.data[title="дата_для_поиска"]').parent().remove();

Riim 10.07.2009 10:49

Цитата:

Сообщение от Snowcore
Советую вам использовать jQuery.

А я для этой задачи !не! советую.

Цитата:

Сообщение от Snowcore
Для ячейки с датой задайте какой-либо класс, например date

Так совсем не интересно становится.

Цитата:

Сообщение от Snowcore
А также записывайте дату в атрибут title ячейки.

Мега-велосипедище.

Kolyaj 10.07.2009 10:58

Цитата:

Сообщение от Snowcore
А также записывайте дату в атрибут title ячейки.

Для привязки данных к тегу лучше всего использовать атрибут onclick. Можно, конечно, любой другой onsomething, но onclick универсальнее. Это, во-первых, валидно, во-вторых, кроссбраузерно, в-третьих, не надо ничего парсить.

<div id="my" onclick="return {data: 'Любые данные в формате json.'}">Блок с данными.</div>

alert(document.getElementById('my').onclick().data);

Snowcore 10.07.2009 11:05

Цитата:

Сообщение от Kolyaj (Сообщение 24082)
Для привязки данных к тегу лучше всего использовать атрибут onclick. Можно, конечно, любой другой onsomething, но onclick универсальнее. Это, во-первых, валидно, во-вторых, кроссбраузерно, в-третьих, не надо ничего парсить.

<div id="my" onclick="return {data: 'Любые данные в формате json.'}">Блок с данными.</div>

alert(document.getElementById('my').onclick().data);

Здорово! Первый раз вижу такой подход! Я обычно использовал title, или подобные валидные атрибуты

Riim 10.07.2009 11:06

Я не понимаю, зачем дублировать данные?

sat-lin 10.07.2009 11:07

Вы не совсем поняли дело в том что я могу немного редактировать только эту страницу! Таблица генерится вообще отдельной программой. Я не могу изменять свойства таблицы и ее содержимое.

Riim 10.07.2009 11:10

Цитата:

Сообщение от sat-lin
Я не могу изменять свойства таблицы и ее содержимое.

Да они что-то лишнее выдумывают, уже для себя наверно.

[off]
скажите мне кто-нибудь: тег <u> нормально использовать?

[/off]

Snowcore 10.07.2009 11:12

Цитата:

Сообщение от Kolyaj (Сообщение 24082)
Для привязки данных к тегу лучше всего использовать атрибут onclick.

Кстати, есть еще один способ, но его можно использовать только при помощи js:
у jQuery есть плохо документированный метод data, при помощи которого можно присвоить элементу собственные аттрибуты:

$(elem).data('myAttr', 'myValue');


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