1. 首页
  2. 编程语言
  3. Web开发
  4. 自定义Input Radio兼容IE6

自定义Input Radio兼容IE6

上传者: 2025-05-27 06:30:36上传 ZIP文件 30.19KB 热度 1次

自定义样式的 radio 按钮在现代浏览器里挺常见的,但要兼容到 IE6,玩法就不一样了。

IE6 的不支持:checked,样式完全靠不住。这时候就得上点小技巧,搭配 JS 或者 jQuery 来手动控制选中状态,才能让样子过得去。

做法也不复杂:用

HTML 结构像这样:

<label>
  <input type="radio" name="radios" value="1">
  <span class="custom-radio"></span>
</label>

CSS 里把input[type="radio"]设成display: none,自定义的搞点圆形边框、尺寸这些。样式写好后,用 JS 监听点击事件,判断哪个 radio 被选中,再去加对应的样式。

像这样:

var radios = document.getElementsByName('radios');
for (var i = 0; i < radios.length; i++) {
  radios[i].onclick = function() {
    var siblings = document.getElementsByClassName('custom-radio');
    for (var j = 0; j < siblings.length; j++) {
      siblings[j].style.backgroundColor = '';
    }
    this.nextSibling.style.backgroundColor = '#007BFF';
  }
}

也能用 jQuery,代码更短更顺手。

虽然现在几乎没人再管 IE6 了,但如果你还在做兼容老系统的后台,或者是内网项目,这种小技巧就派得上用场。顺带一提,你可以看看自定义 radio 样式这篇,里面讲得也蛮细。

下载地址
用户评论