2012-01-26 3 views
1

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

Div.Style["StyleAttribute"] = MyValue;

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

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

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

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

ответ

2

Jquery версия:

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

JQuery документы:

+0

Приятно, но поскольку я получаю значения, которые будут установлены из кода позади, все равно имеет смысл установить его. Если нет решения. Я могу реализовать это, нужно будет передавать значения от кода позади до jquery, который должен быть выполнимым. +1 для быстрого ответа. – Anicho

+0

Вы можете передавать значения из кода позади в javascript (jquery). – gdoron

+0

'$ ('a', $ ('. ContentRegion')). ​​Css ('color', <%# Red %>);' Я закончил это с помощью кода @gdoron – Anicho

0

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

в HTML

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

в .cs файл

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

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

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

+1

Это не будет применяться к '' только. – gdoron

+0

Да, я, по сути, уже делаю это, это применит значения ко всему в 'divControl', я хочу нацелить' 'в' divControl'. – Anicho

+0

хорошо .. тогда я обеспечит еще более простое решение, сделать этот якорь тег Runat = 'сервер' hello и .cs файл anchor.Style.Add ("высота", "200px"); – Madhu

1

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

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

JQuery:

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

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

+0

'data-attributes' было бы прекрасно, но я должен поддерживать браузеры, не поддерживающие HTML5. – Anicho

+1

Хотя старые версии IE не распознают атрибуты данных, они ничего не сломают, и jQuery действительно узнает их. (Просто выбирая все атрибуты, начинающиеся с «data-»), поэтому это не должно быть проблемой. Дальнейшее чтение: http://stackoverflow.com/questions/2412947/do-html5-custom-data-attributes-work-in-ie-6 –

+0

Не будут ли цвета не отображаться в более старых версиях? – Anicho

1

использование JavaScript/JQuery

$("a:active").css("color", "red"); 
$("a:hover").css("color", "red"); 
+0

Я предположил: активным было бы это, спасибо за разъяснение. – Anicho

2

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

в вашем 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 или что-то еще, и вы полностью гибки в том, что можете сделать.

+0

Ха это делает работу и в коде позади. – Anicho

+0

отлично! Если это будет более широко поддерживаться (или, по крайней мере, немного поддерживается), я бы пошел на 'scoped' атрибут на элемент стиля .. см. Http://html5doctor.com/the-scoped-attribute/ Но на данный момент это бессмысленно ... За исключением случаев, когда oyu хочет использовать https://github.com/thingsinjars/jQuery-Scoped-CSS-plugin – ramsesoriginal

Смежные вопросы