本文目录一览:
js中如何定义class,如何扩展prototype?
思路:
JS中定义class是通过function,有点类似C++语言中的struct概念。要定义class只需要定义function,并注意this的使用。
举例:
script
function MyClass(){
this.a = '2';//可以通过this定义属性
}
MyClass.prototype.say= function () { //扩充方法
return 'hello';
}
MyClass.prototype.mValue= '3';//扩充属性
var mc = new MyClass();
alert(mc.a);
alert(mc.say());
alert(mc.mValue);
/script
js 中如何定义类?如何继承类?
过去一年了啊,LZ找到答案了么
我也是初学,下面我举个简单的例子吧
htmlscript language="javascript"
function ClassA(){
this.color = "";
}
function ClassB(){
ClassA.call(this); //this是ClassB的对象
}
var b = new ClassB();
b.color="green";
document.write(b.color+"br"); //green
/script/html
定义两个类ClassA、ClassB,ClassB原本没有color这个属性,但是通过call函数将ClassA的东西都放入ClassB中,于是ClassB便继承了ClassA的属性color。
js 如何控制class?
script type="text/javascript"
window.onload = function() {
var abcs = document.getElementsByClassName("abc");
for(var i = 0; i abcs.length; i++) {
abcs[i].style.width = "50%";
}
};
/script
注意:上面的代码不支持 IE 6/7,因为 IE 6/7 不支持 getElementsByClassName。
下面的代码支持 IE 6/7,使用 getElementsByTagName 查找 div,再查找 abc
script type="text/javascript"
window.onload = function() {
var divs = document.getElementsByTagName("div");
for(var i = 0; i divs.length; i++) {
var classes = divs[i].className.split(" ");
for(var a = 0; a classes.length; a++) {
if(classes[a] === "abc") {
divs[i].style.width = "50%";
break;
}
}
}
};
/script
如何在JS中定义CSS
var domObj = document.getElementById("tagId");
//使用domObj.style来设置css:
domObj.style.backgroundColor="#000";//对应style里 background-color
domObj.style.fontSize="#000";//对应style里 font-size
//如果对这个表不太清楚可以在w3c上查一下
//但是一般有个规律就是,首单词小写 “-”后面的第一个字母大写,如:font-size 就是fontSize
如果是想更换标签的class的话,可以使用
domObj.className = "other_class";