редактирование элемента по id
Уважаемые камрады подсобите советом!:help:
В двух словах есть сформированная страничка html В ней по мимо всякой лабуды есть таблица без имени, но с id! В нее заполняются какие либо данные! При ентом у каждой строчки есть ячейка с датой! А теперь вопрос на засыпку!!! Как можно средствами JS сделать поиск в таблице по дате, что бы в итоге нужные мне строчки исчезали! :cray: |
Наброски:
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] |
Советую вам использовать jQuery.
Для ячейки с датой задайте какой-либо класс, например date <td class="date">... А также записывайте дату в атрибут title ячейки. Искать ячейку можно при помощи селектора jQuery (получаем ячейку с искомой датой): $('td.data[title="дата_для_поиска"]') Можно удалить целую строку - обращаемся к родительскому элементу: $('td.data[title="дата_для_поиска"]').parent().remove(); |
Цитата:
Цитата:
Цитата:
|
Цитата:
<div id="my" onclick="return {data: 'Любые данные в формате json.'}">Блок с данными.</div> alert(document.getElementById('my').onclick().data); |
Цитата:
|
Я не понимаю, зачем дублировать данные?
|
Вы не совсем поняли дело в том что я могу немного редактировать только эту страницу! Таблица генерится вообще отдельной программой. Я не могу изменять свойства таблицы и ее содержимое.
|
Цитата:
[off] скажите мне кто-нибудь: тег <u> нормально использовать? [/off] |
Цитата:
у jQuery есть плохо документированный метод data, при помощи которого можно присвоить элементу собственные аттрибуты: $(elem).data('myAttr', 'myValue'); |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Riim,
я про onclick писал не конкретно к этому случаю, а в общем. |
Цитата:
|
Цитата:
|
Цитата:
http://www.w3schools.com/tags/tag_u.asp |
Цитата:
Snowcore, спрашивая "что курили" я не хотел обидеть или что-либо в этом духе. Нужно воспринимать исключительно с положительной стороны. |
Snowcore, спасибо за ссылку.
Цитата:
|
Цитата:
|
Господа вы что то совсем от темы ушли!
Частично придумал как енто сделать, но что то не фурычит! Если не сложно подскажите где лопухнулся, я в JS совсем новичек:( <table id="tableId" border="1"> <tr> <td>10.02.2009</td> <td> Правельные год</td> </tr> <tr> <td>10.03.2008</td> <td>Не правильный год</td> </tr> <tr> <td>20.12.2005</td> <td>Совсем не правильный год</td> </tr> </table> <input type="button" value="кнопко" onclick="del();"> <script language="javascript"> function del(){ var date = new Date(); month = date.getMonth() + 1; // правильный месяц var datenow = date.getDate() + "." + month + "." + date.getYear(); // текущая дата в нужном формате var table = document.getElementById("tableId"); var trs = table.getElementsByTagName("tr"); // все ячейк var i = trs.length; while (i) { var td = table.trs[--i].getElementsByTagName('td'); window.alert(trs.innerHTML); window.alert(td.innerHTML); if (Date.parse(td.innerHTML) < 10.02.2009) tr.parentNode.removeChild(tr); } i++; } |
Для начала: нафига последнее i++?
Затем: А кто сказал, что Date.parse() нормально работает со строкой типа '10.02.2009'? И третье: не совсем правильный подход к написанию скрипта.. function del(){ var date = new Date(); var Months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; var table = document.getElementById("tableId"); var trs = table.getElementsByTagName("tr"); // все строки var i = trs.length; while (i) { var td = trs[--i].getElementsByTagName('td'); var cnt = td.length; for (var j = 0; j < cnt; j++) { var data = td[j].innerHTML; var data_arr = data.split('.'); if (data_arr.length > 0) { m = Months[data_arr[1] - 1]; d = data_arr[0]; y = data_arr[2]; alert('date = ' + d + ' ' + m + ' ' + y + ' parse = ' + Date.parse(d + ' ' + m + ' ' + y)); alert(date.getTime()); if (Date.parse(d + ' ' + m + ' ' + y) < date.getTime()) { table.deleteRow(i); break; } } } } } Вот как-то так. Это работает и все удаляет как надо.. Все строки, в которых дата меньше сегодняшней.. Я думаю, переделать под нужную дату труда уже не составит |
Цитата:
Цитата:
|
!!!!ВСЕМ ОГРОМАДНОЕ СПАСИБО!!!!
|
Riim, человек привел конкретный пример. По этому примеру я задавал вопросы..
А поиск по всем столбцам исключительно с точки зрения - а хз, где там дата.. |
Часовой пояс GMT +3, время: 21:13. |