开发者社区> 老朱教授> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JavaScript 拾碎[三] 使用className 属性

简介:
+关注继续查看

A 三位一体的页面

网页的结构层(Structure )由HTML 或XHTML 创建;

网页的表现层(Presentation )由CSS 来创建;

网页的行为层(Behavior )由Javascript 和DOM 所完成;

其实,网页的表现层和行为层总是存在的,即使用户没有去定义。因为Web 浏览器会把自身默认的样式和事件加载到网页的结构层上。

B 使用className 属性

Javascript 还可以通过className 属性灵活的更改一个标签元素的CSS 类选择器来实现样式的变化。

代码示例:

<html>
<head>
<title>追加CSS类别</title>
<style type="text/css">
.myUL1{
color:#0000FF;
font-family:Arial;
font-weight:bold;
}
.myUL2{
text-decoration:underline;
}
</style>
<script language="javascript">
function check(){
var oMy = document.getElementsByTagName("ul")[0];
oMy.className += " myUL2"; //追加CSS类,注意" myUL2"前面的空格.
}
</script>
</head>
<body>
<ul onclick="check()" class="myUL1">
<li>HTML</li>
<li>JavaScript</li>
<li>CSS</li>
</ul>
</body>
</html>

运行时,单击列表后,实际上<ul> 的class 属性变为:

<ul onclick="check()" class="myUL1 myUL2">

注意:

i > 如果是直接修改className 属性值,则是对CSS 进行替换;

ii > 但以上代码不是将原有的CSS 样式覆盖,而是对现有CSS 样式进行追加。

追加的前提是:保证追加的CSS 与原先的CSS 不重复;

经验:

浏览器之间显示的差异,通常都是因为各个浏览器本身对CSS 属性的默认值不同所导致的。

通常的解决办法是:程序员自己指定该值,而不让浏览器使用其默认值即可。




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2010/10/14/1851124.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《JavaScript面向对象精要》——1.5 访问属性
在这段代码中,变量method的值是“push”,因此在array上调用了push()方法。这种能力极其有用,你会在本书中随处看到这种用法。记住一点:除了语法不同,在性能或其他方面点号和中括号都大致相同,唯一区别在于中括号允许你在属性名字上使用特殊字符。
871 0
Javascript中创建对象的几种方法
&lt;script type="text/javascript"&gt;// 方法一var p0 = new Object();p0.name = "xy";p0.age = 20;p0.sayName = function() { alert(this.name); }p0.showAgeAfterSomeYears = function(year) { return this.age
931 0
+关注
3545
文章
0
问答
文章排行榜
最热
最新