用 js 模拟 css 属性选择器

日期:2009-09-21分类:CSS

CSS 的属性选择器是很有用的,它能有效的减少类的使用,但众所周知,IE6 是不支持 CSS 属性选择器的,为了兼容 IE6 ,一般的做法还是给需要的元素额外加类。如果是静态页面,那还好处理,直接在需要的元素上加上类,但如果是动态内容或其他因素影响,不能确定要在哪个元素上加类,那就比较棘手了。这个时候用 js 来处理应该是比较好的,方法也许您也想到了,就是:获取元素属性的值,然后判断值是否包含指定的字符串,如果包含就加上类。

做一个列子吧,就拿最近做的一个东西来做吧,是一个列表,如果这个列表中的某个连接是直接打开 pdf 文件,就给这个链接后面加上 pdf 的小图标,以示提醒作用。看代码吧,XHTML 和 CSS 代码就省略了,看主要的 JS 代码:

window.onload = function(){
	var list = document.getElementById('list');
	var listA = list.getElementsByTagName('a');
	for(var i = 0; i < listA.length; i++){
		var href = listA[i].href;
		if(href.indexOf('pdf') != -1){
			listA[i].className = 'haspdf';
		}
	}
}

查看Demo

因为这段代码主要针对 IE6 及以下版本,所以可以加上 IE 条件注释。

查看:1,445|评论:7标签:,

相关文章

共有 7 条评论

 
 

发表留言

提示: 您可以使用一些简单的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>