【问题标题】:Unable to change TextBox color?无法更改文本框颜色?
【发布时间】:2013-09-30 14:29:05
【问题描述】:

这是一个文本框:

<asp:TextBox ID="UsernameTextBox" runat="server" class="BlockInput"></asp:TextBox>

我想给 asp textbox 一些颜色,但它不会改变颜色

 <script type="text/javascript">
     function BlockInput() {
         var elements = document.getElementsByClassName("BlockInput");
         for (var i = 0; i < elements.length; i++) {
             elements[i].readOnly = true; // works
             elements[i].style.color = "#000000";// does not work!
         }
     }
     window.onload = BlockInput;
</script>

当我查看源代码时,我可以看到正在添加的样式:

<input name="ctl00$MainContent$UsernameTextBox" 
       type="text" id="MainContent_UsernameTextBox"
       class="BlockInput" readonly="" style="color: rgb(0, 0, 0);">

我还确保没有任何内容覆盖 css。

【问题讨论】:

标签: javascript html asp.net css


【解决方案1】:

改变

elements[i].style.color = "#000000";

elements[i].style.backgroundColor= "#000000";

希望这会对你有所帮助。

<script type="text/javascript">
     function BlockInput() {
var elements=document.getElementsByTagName('input');
         for (var i = 0; i < elements.length; i++) {
             elements[i].readOnly = true; // works
             elements[i].style.backgroundColor= "#000000";
         }
     }
     window.onload = BlockInput;
</script>

【讨论】:

  • 这是 backgroundColor 而不是 background-color。
【解决方案2】:

变量elements 未定义。 你想做类似的东西吗? :

function BlockInput() {
         var elements = document.getElementsByTagName('input');
         for (var i = 0; i < elements.length; i++) {
             elements[i].readOnly = true; // works
             elements[i].style.color = "#000000";// does not work!
         }
     }

Fiddle

【讨论】:

  • 你的答案非常接近,TagName 必须是大写的,但我会给你点赞
【解决方案3】:

使用颜色样式,您将文本颜色设置为黑色。如果你想改变 textarea 的背景颜色,试试这个:

elements[i].style.backgroundColor = "#000000";

【讨论】:

    猜你喜欢
    • 2017-03-12
    • 2011-02-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多