CSS加在TagName上的样式要怎么清除掉

html-css09

CSS加在TagName上的样式要怎么清除掉,第1张

首页1 css 放在最前面, 2 css放在其后,这样2 的优先级大于1.

如果他是这样定义的

<input type="text" class="a" name="test">

1:

input{border:1px solid #ddd}

那么您只需要在2里这样定义

input.a{border:2px solid #f00}

这样就可以了

/* 字体链接样式 */

td.firstLevelMenuClass a:link {color: #3E8BAC text-decoration: none}      /* 未访问的链接 */

td.firstLevelMenuClass a:visited {color: #FFFFFF text-decoration: none}    /* 已访问的链接 */

td.firstLevelMenuClass a:hover {color: #FFFFFF}    /* 鼠标移动到链接上 */

td.firstLevelMenuClass a:active {color: #FFFFFF}   /* 选定的链接 */

/* 鼠标事件背景样式 */

td.firstLevelMenuClass:hover {background-image: url(../../Public/img/menu_first_down_bg.gif) }  /* 鼠标移动到链接上 */

td.<span style="color:#cc0000">firstLevelMenuClassHover</span>{background-image: url(../../Public/img/menu_first_down_bg.gif) }

td.firstLevelMenuClass{background-image: url(../../Public/img/head_menu_center.gif) }

JS:

[javascript] view plain copy

/*

* 取得对应类和标签的HTML元素

* clsName:给定类名

* tagName:给定的HTML元素,如果为任意 tagName='*'

*

*/

function getElementsByClassName(clsName, tagName) {

var ClassElements = []

selElements = document.getElementsByTagName(tagName)

for (var i = 0 i < selElements.length i++) {

if (selElements[i].className == clsName) {

ClassElements[ClassElements.length] = selElements[i]

}

}

return ClassElements

}

//通过改变元素class名达到间接改变背景样式

function onFirstMenuChangeBg(e) {

//先清除已经改变的元素背景样式

var getElements = getElementsByClassName('<span style="color:#cc0000">firstLevelMenuClassHover</span>', 'td')

for (var i = 0 i < getElements.length i++) {

getElements[i].className = "firstLevelMenuClass"

}

//设置鼠标点击元素背景样式

e.className = "firstLevelMenuClassHover"

}

HTML:

[html] view plain copy

<td class="firstLevelMenuClass" id="firstLevelMenu0"  onclick="onFirstMenuChangeBg(this)" >

<a href='#'>测试0</a>

</td>

<td class="firstLevelMenuClass" id="firstLevelMenu1"  onclick="onFirstMenuChangeBg(this)" >

<a href='#'>测试1</a>

</td>

<td class="firstLevelMenuClass" id="firstLevelMenu2"  onclick="onFirstMenuChangeBg(this)" >

<a href='#'>测试2</a>

</td>

1、直接更改,比如:

xID.style.display = "block" // 更改display属性,会覆盖css中的定义。

xID.style.display = ""      // 取消js更改display属性,以css样式为准。

这里的xID,是通过id获取的标签。当然,也可能是通过tagName之类的获取的标签。

这种方式,简单直接。但是要修改大量的样式的时候,不适合。所以,我更推荐第二种方式。

2、更改类名

xID.className = "xx   yy"

如果有多个类,就用空格隔开。前提,在样式中要有已有类的定义。比如这里的xx和yy类,在css中应该是写好的。

这种方式把所有的样式写在了css文件中,适合更改较多的样式以及炫酷的样式。js就只做一件事情:改类。至于这个类会把标签变成什么样子,交给css吧。

通过jquery也可以达到如上的效果:

$("#xID").css({

  fontSize:"12px",

  display:"block"

})  // 直接更改样式

$("#xID").addClass("xx")  // 增加删除类

$("#xID").removeClass("xx")