最近赶项目,自己写了个基于jQuery的弹出层插件,中间遇到一个问题,怎么也找不到解决方法,最后发现就是空格的问题。。。欲哭无泪啊。。。

在给函数传参时,因为写css代码时习惯在:后面加个空格在写样式,导致在js中也习惯这样写,传的一个参数中有一段字符串"color: #fff;",我通过字符串split截取把样式和值分开后,用jq的$(element).css(arr[0],arr[1])设置样式,在谷歌、火狐和IE9以上都没问题,可是在IE8中,居然不起作用,示例代码如下:

<div id="oDiv">这是一个呕心沥血的故事。。。</div>
var str = 'color: #fff;background: #00ff00;font-size: 20px;border: 5px solid gold;';
var str_arr = str.split(';');
var str_arr_child;
for(var i = 0;i < str_arr.length;i++){
  if(str_arr[i]){
        str_arr_child = str_arr[i].split(':');
         $('#oDiv').css(str_arr_child[0],str_arr_child[1]);
}
}

最终才发现,把color:后面的空格去掉才恢复正常,之后用原生测试,发现IE8下,用document.getElementById('oDiv').style.color = '  #fff'会报错,不起作用,在ie9以上正常,看来是原生JS自身的问题啊。。。为了照顾到在:后面加空格的习惯,就用了Jq的$.trim(str)去掉字符串的前后空格,问题解决

经测试,color、background-color和border-color等的参数前面带有空格的情况下都不起作用,这事js故意留的坑么。。。

jQuery的1.x版本的$(element).css()设置元素字体颜色时出现的问题(在IE8以下)的更多相关文章

  1. 详解CSS设置默认字体样式

    浏览器默认的样式往往在不同的浏览器.不同的语言版本甚至不同的系统版本都有不同的设置,这就导致如 果直接利用默认样式的页面在各个浏览器下显示非常不一致,于是就有了类似YUI的reset之类用来尽量重写浏 ...

  2. css 修改placeholder字体颜色字体大小 修改input记住账号密码后的默认背景色

     壹 ❀ 引 本来这个阶段的项目页面都是给实习生妹子做的,我只用写写功能接接数据,但这两天妹子要忙翻译,这个工作阶段也快结束了导致有点慌,只能自己把剩余的几个小页面给写了. 那么做页面的过程中,UI也 ...

  3. css设置元素垂直居中的几个方法

    最近有人问我怎么设置元素垂直居中?我....(这么基础的东西都不会?我有点说不出话来),  不过还是耐心的教了他几个方法,好吧教完他们,顺便把这些方法整理一下 第一种:通过设置成为表格元素的方式来实现 ...

  4. css设置元素背景透明度的2种方式

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月9日. 设置元素的背景的透明度可以使用2种方式:方式1:opacity属性.方式2:使用rgba值.两种方式有一点差异,opaci ...

  5. css设置中文字体(font-family:"黑体")后样式失效问题

    做项目时偶遇的一诡异问题,同样的代码,在ff和IE7以上页面显示正常,但IE6无论怎么改都不起作用,本来以为是IE6的某些浮动bug所致,结果弄了很长时间也不行,后来不经意间把原来设定的font-fa ...

  6. css 设置元素背景为透明

    要设置某一元素的背景为透明,在 chrome .firefox.opera 下是这样的: rgba 中的最后一个参数 0.4 就是想要的透明度,范围在0-1之间. 在 ie 中一般是这样的: filt ...

  7. 使用CSS让元素尺寸缩小时保持宽高比例一致

    CSS中有一个属性padding对元素宽度存在依存关系.如果一个元素的 padding属性以百分比形式表示,padding 的大小是以该元素自身宽度为参照的. 若想要元素尺寸变化时,宽高比例不变,可以 ...

  8. 纯css设置元素过渡效果

    1.首先,先设置一个div,待会我们使用css3给这个div设置过渡效果. 2.然后给div设置宽高和背景,这里我就设置成200像素,深粉色. 3.接着开始设置transition属性,通过这个属性就 ...

  9. CSS设置全局字体

    在样式表或者页面head加上这个就可以了.分别是字体,字号,颜色,行高,总之要什么就写什么. body,td,th {font-family: Verdana, Arial, Helvetica, s ...

随机推荐

  1. 如何在vue+element中实现选择框和穿梭框的根据拼音以及拼音首字母以及汉字的模糊搜索

    1.汉字: 直接添加对应的 filterable     2.拼音: 穿梭框和选择器的实现方式有所不同   选择器:   <1>下载pinyin-match:   npm i --save ...

  2. golang 统计uint64 数字二进制存储中1的数量

    package main import (    "fmt") // pc[i] is the population count of i.var pc [256]byte fun ...

  3. C# 反射,动态类,动态方法

    1.动态类名,固定方法名,例如.调用不同类下边的GetById()方法: //项目需要引用Miscorsoft.CSharp类库,否则会报错:找不到编译动态表达式所需的一个或者多个类型.//引用这两个 ...

  4. Nagios Email告警 发不了,可能是 /var/spool/mqueue nagios用户没权限

    Nagios邮件报警   Nagios邮件报警 准备 yum - y install ntp        ntpdate time.windows.com   同步时间,否则无法发送邮件 yum - ...

  5. Hive 特殊日期获取 tips

    获取当前日期 SELECT CURRENT_DATE, CURRENT_TIMESTAMP, from_unixtime(unix_timestamp()); 上个月1号 concat(substr( ...

  6. ActiveMQ(4)---ActiveMQ原理分析之消息消费

    消费端消费消息的原理 我们通过上一节课的讲解,知道有两种方法可以接收消息,一种是使用同步阻塞的MessageConsumer#receive方法.另一种是使用消息监听器MessageListener. ...

  7. Python爬虫与数据分析之爬虫技能:urlib库、xpath选择器、正则表达式

    专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...

  8. 使用ScheduledThreadPoolExecutor执行定时任务

    ScheduledThreadPoolExecutor scheduled = new ScheduledThreadPoolExecutor(2); scheduled.scheduleAtFixe ...

  9. [python]关于函数传入参数

    在传入参数时有两个特殊参数,*args,**kwargs,功能如下: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ' ...

  10. activiti-6.0工作流应用模板

     acriviti6.0官方操作指南:https://www.activiti.org/userguide/#demo.setup.one.minute.version 下载 acriviti6.0压 ...