Смена фона div, id которого указан в адресной строке

программирование html веб дизайн

Есть ссылки вида /posts/1/#c2
1 - id поста, 2 - id комментария в данном посте.
В html указан div id="2". При переходе по ссылке данный div, естественно, оказывается сверху (т.е. комментарий высвечивается в верхней части экрана). Как сделать так, чтобы при обращении к этому комментарию фон его div'а менялся?

Примечание:
Named to lose the user, спасибо, попробую.
>> Вы ведь о JavaScript спрашивали?
Ну, я другими способами себе это и не представляю.

Примечание:
>> С учётом того, что на чистом PHP не получить якорь, то да.
А кто сказал, что это PHP? Я на Rails пишу.
>> Хотя, если ссылка полностью генерируется на серверной стороне
Нет, пользователь может перейти к нужному комментарию абсолютно с любой страницы, а также задать эту ссылку самостоятельно.
Ответы:
// Функция извлечения якоря из страницы
function getLinkTarget(link) {
 return link.href.substring(link.href.indexOf('#')+1);
}
// Получаем якорь текущей страницы
var nodeid = getLinkTarget(window.location);
if(nodeid) {
var node = document.getElementById(nodeid);
if(node)
{
   node.style.background = 'red';
}
}
// З.Ы. Естественно, код надо выполнять после загрузки страницы.
// Вы ведь о JavaScript спрашивали?
> Ну, я другими способами себе это и не представляю.
С учётом того, что на чистом PHP не получить якорь, то да. Хотя, если ссылка полностью генерируется на серверной стороне - тогда в адресной строке можно отдельно передавать ID нужного DIV + сам якорь. Но это, конечно, лишнее.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.