十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
个人觉得,静态属性就相当于c#中的static,或者vb.net 中的shared,是没有new 实例化的。
10年积累的成都网站建设、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有广陵免费网站建设让你可以放心的选择与我们合作。
比如: function man(age,name){
this.age=age;
this.name=name;
}
man.sex="男";
这样所有的 new man(年龄,性别)出来的man的实例,都有各自的age 和name,这就他们的实例属性
而sex是静态的,是通过man.sex 访问的,
本人是业余的,说的不对的请见谅
//---------
如此,所谓js对象,是一个关联数组,关联数组是一个数据结构体,这不单在js上有,在其他编程语言也有,所以这是一个数据结构的定义问题,不是js本身的问题
为什么说js对象是一个关联数据,看下面注释,效果一样
var data ={};
data.date = new Date(); //data["data"]=new Date() 添加关联数组的一个元素并赋值
date.obj = {}; //date["obj"]={}
甚至对所谓有序数组, var arr=["a","b","c"],可以这样访问,
arr["0"] //a
arr["1"] //b
arr["2"] //c
甚至空字符串也可以作为关联数组的键
vat obj={};
obj[""]="空字符串做键名" ;
这种情况下,用圆点符无法访问到“属性名“为空字符串的属性
简言之,用关联数组方式可以访问到一切定义的属性,用圆点符却不能,这也证明了js对象的本质是关联数组
用setAttribute方法就可以了,如:document.getElementById('d','123456');如果是动态添加标签的话:
var parent = document.getElementById(obj);
//添加 div
var div = document.createElement("div");
//设置 div 属性,如 id
div.setAttribute("id", "newDiv");
div.innerHTML = "js 动态添加div";
parent.appendChild(div);
当我们在写jsp页面时,往往会遇到这种情况:从后台获取的数据个数不确定,此时在前端写jsp页面时也就不确定怎么设计了。这个时候就需要通过js动态创建标签:
1.创建某个标签:如下在body中创建一个div的事例;
script
function
fun(){
var
frameDiv
=
document.createElement("div");//创建一个标签
var
bodyFa
=
document.getElementById("bodyid");//通过id号获取frameDiv
的父类(也就是上一级的节点)
bodyFa
.appendChild(frameDiv);//把创建的节点frameDiv
添加到父类body
中;
}
script
body
id="bodyid"
!--在此添加div标签--
/body
2.添加属性:给创建的标签添加相应的属性:
frameDiv
.setAttribute("id",
"divid");//给创建的div设置id值;
frameDiv
.className="divclass";
//给创建的div设置class;
//给某个标签添加显示的值;
var
h
=
document.createElement("h1");
h.innerHTML
=
data[i].name;
var
p
=
document.createElement("p");
p.innerHTML
=
"要显示的值";
3.创建的标签添加事件:
a.不带参数:
frameDiv.onmousedown
=
fun;//ps:函数名fun后面一定不能带括号,否则会在创建标签的时候执行函数,
而不是鼠标按下时执行;
b.有参数:
frameDiv.onmousedown
=
function(){
fun(this);
}
c.要调用的函数;
function
fun(){
alert("鼠标按下");
}
4.如果担心创建的标签没有被覆盖则可以替换:
var
divFlag
=
document.getElementById("divFlag");
var
divMain
=
document.createElement("div");
if(divFlag
!=
null){
body.replaceChild(divMain,
divFlag);//把原来的替换掉
}
divMain.setAttribute("id",
"divFlag");
以上这篇通过js动态创建标签,并设置属性方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:JS实现给对象动态添加属性的方法JS中动态创建元素的三种方法总结(推荐)js动态创建标签示例代码使用变量动态设置js的属性名
添加属性用setAttribute()方法,可以传入两个参数,第一个是属性名称,第二个是要设置的属性值
var li = document.getElementsByTagName('li')[0];
//设置 li 属性,如 data-falg,设置为true
li.setAttribute("data-falg", "true");
也可以获取属性用getAttribute(),传入一个参数,是想获取的属性名称,返回的是该属性的值