Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2012, 14:22   #1
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
Вопрос CSS: как обратиться к элементу?

Код HTML:
<div class="p">
  <table class="cr">
	<tbody>
	  <tr>
		<td class="n">
		  <div class="na_c">
			<table>
			  <tbody>
				<tr>
				  <th></th>
				  <td>
					<div class="ni_c">
					  <a href="http://examle.com/link/" id="id_0" class="pr">a_link</a> <!-- Этот элемент задаётся однозначно в каждом блоке по id -->
					</div>
				  </td>
				</tr>
			  </tbody>
			</table>
		  </div>
		</td>
		<td>
		  <div style="position: relative;">
			<div class="i_c">
			  <div class="cr_r"></div> <!-- свойство этого элемента нужно изменить -->
			  <i class="a"></i>
			</div>
		  </div>
		</td>
	  </tr>
	</tbody>
  </table>
</div>
<div class="p">
 ...
</div>
...
Основная проблема:
Нужно обратиться к элементу(помечен комментарием) через элемент id_0 посредством css, чтобы изменить свойство.
Код менять нельзя.

Вопросы:
Можно ли как-нибудь делать "привязку" к innerHTML\innerText так же, как это делается с аттрибутами?
Можно ли как-нибудь "подниматься вверх" по дереву элементов?

Предвижу два вопроса\предложения:
Предложение: Почему нельзя обратиться ".cr_r{color:red;}"?
Ответ: Потому что данный блок будет повторяться. Всё будет таким же, меняется только id у тэга "a".

Предложение: Почему бы не использовать JavaScript для этого?
Ответ: Можно, но очень хотелось бы через CSS, поскольку эти блоки подгружаются аяксом. Их сразу нет в структуре DOM, и будут ли они вообще - не известно.
^-.-^ My GitHub

Последний раз редактировалось Fenex; 01.03.2012 в 18:21.
Fenex вне форума Ответить с цитированием
Старый 02.03.2012, 15:01   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

В цсс нельзя обратиться к родительскому элементу:
наложение стилей проходит в "обратном" режиме от младшего селектора к старшему. При создании очередного элемента браузер перебирает все селекторы цсс и смотрит подходит ли какой-нибудь из них к этому элементу. Селектор по родителю обязал бы браузера отдельно проверять и переписывать стиль для родительского элемента. Производительность бы упала минимум вдвое.
Это ко второму вопросу.
По первому вопросу: текст внутри элемента является дочерним дом-узлом этого элемента -> нельзя.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратиться к элементу страницы по имени тега в delphi webbrowser designer999 Работа с сетью в Delphi 9 15.09.2010 19:20
Как обратиться к ячейке? baddog БД в Delphi 2 30.04.2010 15:43
Как передать фокус следующему по TabOrder'у элементу? TwiX Общие вопросы Delphi 5 11.02.2010 21:44
Как можно обратиться к элементу строки в двумерном массиве ? fermerius Помощь студентам 1 06.02.2010 19:14
как в .js файле обратиться к css стилю Ruska882009 HTML и CSS 0 10.04.2009 14:51