|
как обратиться к таблице из ячейки
Всем привет. Например есть таблица
<table id="table" width="300px" height="200px"> <tr> <td>...</td> <td>...</td> <td>...</td> </tr> <tr> <td>...</td> <td>...</td> <td>...</td> </tr> <tr> <td>...</td> <td>...</td> <td>...</td> </tr> </table> Мне нужно что бы при кликанье по любой ячейки можно было добраться до параметров таблицы,т.е в нашем случае до width и height ну и id. вставляю в ячейки <td> следующий код <td onclick="alert(this.parentNode.parentNode.id);">...</td> alert выдает пустоту, как же добраться до основного родителя из ячейки?? :( |
Ещё один parentNode вам поможет, ибо tbody.
Но по-хорошему надо просто сделать нужные переменные, чтоб не лезть каждый раз. |
tbody помогло :)
спасибо |
Aetae, аха) Я сейчас тоже потихоньку перехожу к изученю объектной модели (DOM). По идее, немного странно, ведь тег <tbody> не упоминается при построении таблицы.
simple, может это пригодится Выделение строки и столбца относящихся к ячейке таблицы <td onclick="alert(this.offsetParent.nodeName);">...</td> |
nerv_ спасибо, красивый способ, все работает :)
|
У меня вот еще вопрос возник..написал функцию которая создает макет модального окна, некоторым элементам присваиваю id для дальнейшей обработки, например для resiza id="left" id="top" и.т.д. Если я создам этой функцией несколько окон то ничего страшного не будет если будут дублироваться id-ы. Так то пробовал все работает, ошибку вроде не выдает,(что удивительно ведь id должен быть уникальный) просто хотелось узнать может есть более правильный способ?
|
Цитата:
Только поддерживать ту уникальность должен разработчик. ;) |
Вообще конечно с id это фэил в первую очередь разрабов, а уж потом начинающих прогеров: отсутствие изначально способа группировки элементов.
Уникальный идентификатор есть, а групповго нет. Есть name, но не для любого элемента. Есть class, но во-первых не для того он придуман, во вторых - ie. И приходится всем юзать class=( |
решил тогда отказаться от id и добираться до нужных элементов с помощью ветвлений childNodes и parentNode..Но тут тоже без сюрпризов не обходиться, вот например таблица расположенная в теги <div>:
<div> <table id="table">// obj.childNodes[1].id выведет "table" <thead id="thead">// obj.childNodes[1].childNodes[1].id выведет "thead" <tr> <th>...</th> <th>...</th> <th>...</th> </tr> </thead> <tbody id="tbody">//obj.childNodes[1].childNodes[2].id выведет "undefined" ???? <tr>// а вот obj.childNodes[1].childNodes[3].id покажет "tbody" <td>...</td> <td>...</td> <td>...</td> </tr> </tbody> </table> </div> Собственно вопрос что находиться в obj.childNodes[1].childNodes[2].id ??? Почему такой перескок через цифру ведь по идеи tbody должна быть вторым ребенком у таблице? |
Цитата:
<table> <thead> ... </thead> *!* <tfoot> <tr> <td> ... </td> </tr> </tfoot> */!* <tbody> ... </tbody> </table> http://htmlbook.ru/html/tfoot |
Часовой пояс GMT +3, время: 03:42. |
|