Изменение цвета ссылки программно - PullRequest
1 голос
/ 26 января 2012

В настоящее время я изменяю стиль из кода, выполнив:

Div.Style["StyleAttribute"] = MyValue;

Я хочу по существу только программно изменить цвет тегов a внутри Div. Возможно ли это?

Решение не должно использовать HTML5.

Содержимое всегда динамическое, ссылки не статичны, поэтому использование runat="server" невозможно.

Следующим шагом будет посмотреть, смогу ли я изменить активные , hover и посещенные состояния.

Ответы [ 5 ]

2 голосов
/ 26 января 2012

Если вы выберете это решение, страница больше не будет проверяться, но она будет работать во всех браузерах и выполняет свою работу.

в вашем html вы делаете:

<div class="StyledLinkWrapper">
    <style id="stylemylinks" runat="server"> </style>
    <a href="http://www.xyz.com">a Link</a>
</div>

и вкод просто:

 string colorNormal = "blue";
 string colorVisited = "red";
 string colorHover = "white";
 string bghover = "blue";
 StringBuilder style = new StringBuilder();
 style.AppendLine(".StyledLinkWrapper a {");
 style.AppendLine(String.Format(" color: {0};", colorNormal));
 style.AppendLine("}");
 style.AppendLine(".StyledLinkWrapper a:hover {");
 style.AppendLine(String.Format(" color: {0};", colorHover));
 style.AppendLine(String.Format(" background-color: {0};", bghover));
 style.AppendLine("}");
 style.AppendLine(".StyledLinkWrapper a:visited {");
 style.AppendLine(String.Format(" color: {0};", colorVisited));
 style.AppendLine("}");
 stylemylinks.InnerText = style.ToString();

и все.Просто старый Css, никакой необычной фреймворк Javascript или что-то еще, и вы абсолютно гибки в том, что вы можете сделать.

2 голосов
/ 26 января 2012

Jquery версия:

$('a', $('#divId')).css('color', 'red')

Документация JQuery:

1 голос
/ 26 января 2012

использовать javascript / jquery

$("a:active").css("color", "red"); 
$("a:hover").css("color", "red"); 
1 голос
/ 26 января 2012

Попробуйте использовать атрибуты данных:

Div.Attributes.Add("data-link-color", "red");

jQuery:

$("#divID a").css("color", $("#divID").data("link-color"));

И вы, вероятно, сможете использовать что-то подобное для наведения и т. Д.

0 голосов
/ 26 января 2012

Попробуйте один раз

в HTML

<div runat="server" id="divControl">...</div>

в файле .cs

protected System.Web.UI.HtmlControls.HtmlGenericControl divControl;
divControl.Styles.Add("height", number / anotherNumer);

Вы можете применять стили.

надеюсь, это поможет !!!

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