以编程方式更改链接颜色

本文关键字:链接 颜色 方式更 编程 | 更新日期: 2023-09-27 18:21:24

我目前正在通过以下操作从代码后面更改样式:

Div.Style["StyleAttribute"] = MyValue;

我想通过程序更改Div中的a链接标签颜色,这可能吗?

该解决方案不得使用HTML5。

内容总是动态的,链接不是静态的,所以使用runat="server"是不可能的。

下一步是查看是否可以更改活动悬停访问状态。

以编程方式更改链接颜色

Jquery版本:
$('a', $('#divId')).css('color', 'red')

JQuery文档:

  • css
  • JQuery上下文选择器

如果选择此解决方案,页面将不再验证,但它可以在所有浏览器中工作并完成任务。

在你的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();

就这样。只是普通的旧Cs,没有花哨的Javascript框架或其他什么,而且你可以完全灵活地做什么。

尝试使用数据属性:

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

jQuery:

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

你可能可以对悬停等使用类似的东西。

使用javascript/jquery

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

尝试一次

在html 中

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

在.cs文件中

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

可以应用样式。

希望这能有所帮助!!!