Изменение цвета фона без ссылки - PullRequest
1 голос
/ 11 ноября 2011

У меня есть якорь, как:

<a href="#" onclick="showInfo();" class="nostyle" ></a>

У меня нет id или class имени, потому что я сгенерировал его динамически в xslt .

Когда я нажимаю на него, он показывает ранее скрытый div, который содержит тег <a id='close'>. Идея состоит в том, чтобы изменить цвет фона первого якоря, когда я нажимаю кнопку закрытия, но я не знаю, как это настроить.

Как я могу получить привязку, на которую нажали и, следовательно, изменить ее?

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Проверьте это решение для страницы, которая имеет несколько скрытых div, и у каждого div есть ссылка показать / скрыть

http://jsfiddle.net/qfQhq/

Это работает для 1 div и 1 hide и 1 show link

Простой способ сделать это, когда вы нажимаете на ссылку, чтобы показать скрытый div, сохраните ссылку на ссылку с помощьюсохранение указателя $ (this) в глобальной переменной с последующим отображением скрытого элемента div.Если ссылка, которая открывает скрытый div, имеет цвет фона (или класс для этого), вы можете удалить его на этом этапе.(если цвет отображается только при закрытии div, возможно, вы захотите, чтобы он исчез при открытии div тоже?) После нажатия кнопки закрытия вы можете просто ссылаться на ту же глобальную переменную, как если бы это был элемент DOM,и измените его цвет фона (или добавьте к нему класс, который сделает это за вас).

$(document).ready(function(){

1) Создайте глобальную переменную

var showInfoLink = "null";

2) Store $ (this)(Элемент DOM, который вызвал showInfo();)

function showInfo() {
    showInfoLink = $(this);
    showInfoLink.removeClass("highlighted"); //if you closed the div & opened again
    $("#hidden_div_selector").css("display", "block"); //show hidden div
}

3) Изменить цвет фона или ссылку

$("#hidden_div_close_button_selector").click(function(){
    if (showInfoLink != "null")
    {
        showInfoLink.addClass("highlighted"); //color the background of the link
        $(this).css("display", "none"); //hide the hidden div
        showInfoLink = "null";
    }
}

4) CSS Для выделенного класса (изменен цвет bg)

.highlighted {
    background-color: #de9f3c; //random color
}

убедитесь, что все это в $ (документ) .ready ()

});
0 голосов
/ 11 ноября 2011

Вы должны передать ссылку на первый якорь в функцию showInfo. Например, onclick = "showInfo (this);". Вы можете установить цвет фона при нажатии кнопки закрытия, так как у вас есть ссылка на первый якорь. Имеет смысл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...