那天大众点评在线笔试遇到一道WEB前端题,具体不说明,主要是在用背景色时发现了bgcolor和bgColor的区别。我本是做后台的,正打算入门写前端(之前仅会看),发现这个区别让我对前端工作更加敬畏。

  废话不说,这两个简单说都是设置某些标签背景颜色的,一个是静态(属HTML),一个是动态(属JSript)。区别通过举例使用很容易发现,只是想借区别来谈谈浏览器、兼容性。

  我本来想用bgcolor设置<td>标签的背景色,如下:

  <html><head></head><body>

  <table>

  <tr><td bgcolor="#000"></td></tr></table>

  </body></html>

  这种做法是毫无疑问没什么问题,只是要注意的是,IE浏览器(我用的8,调试的文本模式用默认quirks)下table是自动解析生成了tbody的,因为此IE识别不了无tbody的表格。而我实际是这样写的:

  <html><head></head><body>

  <div id="test"></div>

  <script type="text/javascript">

  var a;

  var nodea, noder, noded, nodeb;

  a = document.getElementById("test");

  nodea = document.createElement("table");

  nodea.setAttribute("border","1");

  nodeb = document.createElement("tbody");  //如果不创建tbody就会出现IE不能识别,后面细说

  nodea.appendChild(nodeb);

  noder = document.createElement("tr");

  noded = document.createElement("td");

  noded.setAttribute("bgcolor","#000");  //这样IE就不会有背景色,正确写法noded.bgColor = "#000";

  noded.innerHTML = "test"

  noded.setAttribute("bordercolor","#000");
      noded.setAttribute("height","40");
      noded.setAttribute("width","40");
      noder.appendChild(noded);
      nodeb.appendChild(noder);
      a.appendChild(nodea);

  </script>  

  </body></html>

  这样写后会出现表格内只有"test"文本,而没有背景颜色(黑色),这是由于bgcolor是设置静态色,但我不是直接写HTML标签来设置,而是用JS脚本动态创建表格然后设置属性,我之前一直没弄懂为什么动态设置bgcolor就不能成功,后来知道了有bgColor,用于动态设置背景颜色,这样才能成功设置背景色(黑色)。

  同样问题,为什么我在静态创建表格是不用写tbody,我的IE浏览器也能识别?而动态因为没有创建tbody就不能识别。这跟浏览器的执行是密切相关的。

    这里我们不太复杂去讨论HTML/JScript/JAVASCRIPT的执行顺序或过程,就bgcolor,它首次被动态设置后,浏览器不解析而言,就知道在我用的IE中,bgcolor一定解析在脚本语言之前,其他属性我不清楚,像这些属性IE8浏览器不会在首次解析后再去解析静态设置,这就说明这类属性的效果,可能跟其他执行有关(渲染?浏览器本身漏洞?),至今还未去深入研究。还请知道的大神能做出解答。

  

转载于:https://www.cnblogs.com/iwish/p/3358862.html

bgcolor和bgColor?相关推荐

  1. bgcolor、bgColor与backgroundColor三者的区别

    bgcolor是HTML,bgColor是JScript,backgroundColor是javascript bgcolor--静态不变的背景色 this.bgColor--动态变化的背景色 bgc ...

  2. bgcolor是html的属性,HTML bgcolor属性用法及代码示例

    HTML bgcolor属性用于设置HTML元素的背景色. Bgcolor是级联样式表的实现已弃用的那些属性之一(请参阅CSS背景). 用法: 支持的标签: marquee tBody tFoot t ...

  3. html语言表格背景颜色,HTML_HTML表格标记教程(36):表头的背景色属性BGCOLOR,TH标记用于设定表格中某 - phpStudy...

    标记用于设定表格中某一表头的属性.见下表所示: 表头的 标记属性 属      性 描        述 ALIGN 水平对齐 VALIGN 单元格内容的垂直对齐 BGCOLOR 单元格的背景颜色 B ...

  4. 请问为什么像cellspacing=0和bgcolor=red的属性在style里面不起作用呢?

    今天在写h5表格的时候遇到了这样的一个问题,给表格设置边框与边框之间的间隙大小cellspacing,将其写在table里面起作用,而写在style里面字体会变暗,不会起作用 原因就是,像cellsp ...

  5. html div bgcolor,HTML body bgcolor transparent

    问题 I have this HTML style="margin:0px;padding:0px;" Here i have set bgcolor="#FFFFFF& ...

  6. php表格制作底纹怎么做,HTML表格标记教程(36):表头的背景色属性BGCOLOR

    HTML表格标记教程(36):表头的背景色属性BGCOLOR 互联网   发布时间:2008-10-17 18:57:03   作者:佚名   我要评论 标记用于设定表格中某一表头的属性.见下表所示: ...

  7. HTML中的bgcolor,background,与color的初步小节

    在HTML的<table>标签中,比如<td>,<th>,<tr>,<table>一般都是使用bgcolor,而在CSS中,<p> ...

  8. 在html table 标签的中background和bgcolor两个属性有什么关系?

    两者没有关系,一个设置制定标签的背景图片一个是设置背景颜色. 是HTML中标签的背景颜色属性,而background是CSS中的属性,bgcolor只定义背景颜色. background可以定义如下属 ...

  9. R语言ggplot2可视化:使用ggpubr包的ggboxplot函数可视化分组箱图、使用bgcolor函数自定义指定可视化图像的背景色

    R语言ggplot2可视化:使用ggpubr包的ggboxplot函数可视化分组箱图.使用bgcolor函数自定义指定可视化图像的背景色 目录

最新文章

  1. Latex中的列表环境[一]
  2. CentOS7 64位下载配置与安装教程(超详细图文教程)
  3. 代码段间转移控制时的特权级检查(JMP/CALL)——《x86汇编语言:从实模式到保护模式》读书笔记28
  4. javascript 实现单击和双击并存
  5. PHP array_splice
  6. 动态链接库的设计(DLL)
  7. 计算机进制转换列表,计算机进制转换汇总
  8. 中粮营销致远A6应用探秘:高速审批执行,营销策略落地
  9. 计算机网口在什么位置,电脑网线插路由器哪个口?
  10. 浅谈润乾报表与QlikView对比
  11. 2021:不要在一件事上纠缠太久!
  12. 美国凯斯西储大学计算机硕士专业怎么样,体现优势 收获凯斯西储大学计算机专业offer...
  13. ubuntu相关命令速记
  14. vue canvas typescript 绘制时间标尺
  15. 算法竞赛中计算机1000ms一般能运行的范围
  16. [转贴]“山寨”之现状分析
  17. 前端小技能:利用action-type按钮事件实现批量删除
  18. [机器学习导论]—— 第四课——决策树
  19. Flink和Spark中文乱码问题
  20. Springboot美容院管理系统 java idea mysql

热门文章

  1. 硒鼓带不带芯片区别_HP佳能硒鼓芯片装机不认情况解析,看完你就是专家
  2. 项目四:使用路由交换机构建园区网-任务三:配置路由交换机并进行通信测试
  3. data:image/png;base64这什么玩意
  4. 全球最好的20家软件外包接活平台
  5. 通信软件自动化测试,基于eNodeB控制面软件的自动化测试系统架构设计
  6. 计算成像最新进展及应用
  7. 加密软件测试结果对比分析
  8. JavaScript——DOM之节点操作
  9. 恩智浦i.MX6Q开发板软硬件全开源提供核心板原理图
  10. RxJava 详解 -- 作者:扔物线