欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js的document对象

程序员文章站 2022-03-19 09:47:51
...

一、document对象(DOM核心对象)
1、属性
  title  返回或设置当前文档的标题
  URL    返回当前文档的url
  bgColor 设置文档的背景色
  fgColor  设置文档的前景色(设置文字颜色)

   alert(document.title)
   document.title="HelloWorld";
   alert(document.URL)
   alert(location.href)
   document.bgColor="red";
   document.fgColor="blue";

2.方法
   getElementById(idname)  返回拥有指定id的(第一个)对象的引用

   getElementsByTagName(tagname)  返回带有指定标签名的对象的集合 

   getElementsByName(name)  返回带有指定name指定名称的对象的集合,主要是适用于表单

   write() 

<Script>
 window.onload=function  () {
    //方法 getElementById(idname)
    var div1=document.getElementById("one");
	alert(div1.innerHTML)

    //getElementsByTagName(tagname)
  var divs=document.getElementsByTagName("div");
  var lengths=divs.length;
  //alert(lengths)
  //通过下标来访问
    //alert(divs[1].innerHTML)
	for (var i=0; i<lengths; i++) {
	alert(divs[i].innerHTML)
	}

  //getElementsByName(name)
  var inputs=document.getElementsByName("text1");
  var lengths=inputs.length;
  alert(lengths)

document.write()//不换行的输出,
document.writeln()//换行输出
 }
</script>

<body>
<div name="div1" id="one">
 1
</div>
<div name="div1" id="one">
 
</div>
<form name="myform" id="form1">
 <input type="text" name="text1" value="张三">
 <input type="text" name="text2" value="李四">

</form>
</body>

getElementsByClassName()   返回带有指定classname指定名称的对象的集合

   function byclass (classname) {
      if(document.getElementsByClassName){
	    return document.getElementsByClassName(classname)
	  }else{
	    var tag= document.getElementsByTagName("*");
         var lengths=tag.length;
		 var divs=[];
		 for (var i=0; i<lengths; i++) {
		    if(tag[i].className==classname){
			   divs.push(tag[i])
			}
		 }
		 return divs;
	  }
	  
   }

 alert(byclass("aaa").length)
<div name="div1" id="one" class="aaa">
</div>
<div name="div1" id="one" class="aaa">
</div>

二、document对象的操作、

1.操作内容
    1.innerHTML  用来设置或获取对象起始和激素标签内的内容(识别html标签)  
    2.innerText  用来设置或获取对象起始和激素标签内的内容 (IE)
      textContent用来设置或获取对象起始和激素标签内的内容 (FF)

    3.outerHTML  用来设置或获取包括本对象在内起始和激素标签内的内容(识别html标签)  
      outerText  用来设置或获取包括本对象在内起始和激素标签内的内容

<script>
  function getContent (objs,val) {
     if(document.all){
	   if(val){
	     objs.innerText=val
	   }else{
	      return  objs.innerText
	   }
	 }else{
	    if(val){
	     objs.textContent=val
	   }else{
	      return  objs.textContent
	   }
	 
	 }
  }
  window.onload=function  () {
    var div1=document.getElementById("div1");
	var div2=document.getElementById("div2");
	var but=document.getElementById("but");
     but.onclick=function  () {
	    //var contents=div1.innerHTML;
		//div2.innerHTML=contents;
		 var contents=getContent(div1)
		getContent(div2,contents);
     }
  }
</script>

2.操作属性
    1.直接操作
      对象.属性  
      对象.属性=值  (设置、获取、添加属性(属性值))

    2.
      getAttribute("属性")  获取给定的属性的值
      setAttribute("属性","值")  设置或是添加属性

<script>
  window.onload=function  () {
    var links=document.getElementsByTagName("a")[0];
	//alert(links.href)
	//links.href="2.html";
	//alert(links.title)
	//links.title="百度";
	//links.title="百度";
	 //getAttribute("属性")  获取给定的属性的值
     // setAttribute("属性","值")  设置或是添加属性

	 alert(links.getAttribute("href"))
	 links.setAttribute("href","2.html")
	
  }
</script>


<body>
 <a href="1.html"  >链接</a>
</body>

3、操作样式

   1.行内样式
     对象.style.属性
     对象.style.属性=值   (设置、获取、添加属性)
     ****************************************************
     遇到属性是"-"链接的,要将"-"去掉,后面的单词的首字母大写
     ****************************************************

   2.css层叠样式

   3.行内样式和css层叠样式通用的方式

<script>
window.onload=function  () {
  var one=document.getElementById("one");
  one.onmouseover=function  () {
    //alert(one.style.color)
     one.style.color="blue";
	 one.style.backgroundColor="red";
	 one.style.fontSize="13px";
  }
  one.onmouseout=function  () {
     one.style.color="red";
	 one.style.backgroundColor="blue";
	 one.style.fontSize="11px";

  }
}
</script>

<a href="#" style="color:red;background-color:blue;padding:3px" id="one">链接</a>

css层叠样式的操作

1.通过ID来更改样式,通过className更改样式

<style>
   #one{
     width:200px;
	 height:200px;
	 border:1px solid red;
	 color:red;
	 font-size:14px;
	 padding:24px;
   }
   #two{
     width:200px;
	 height:200px;
	 border:1px solid blue;
	 color:blue;
	 font-size:19px;
	 padding:15px;
   }
</style>
<script>
   window.onload=function  () {
      var one=document.getElementById("one");
	  var but=document.getElementById("but");
      but.onclick=function  () {
	    one.id="two";
      }

   }
   window.onload=function  () {
      var one=document.getElementById("one");
	  var but=document.getElementById("but");
      but.onclick=function  () {
	    one.className="div2";
      }
</script>

<div id="one" class="div1"></div>

2.更改或者获取或者设置某个属性的值

document.styleSheets[下标].rules[下标].style.属性
document.styleSheets[下标].rules[下标].style.属性=值

document.styleSheets   样式表的集合
document.styleSheets[0].rules   样式规则的列表
document.styleSheets[0].rules.style  样式规则的集合
document.styleSheets[下标].rules[下标].style.属性
适用于IE
**************************************************************
document.styleSheets[下标].cssRules[下标].style.属性
document.styleSheets[下标].cssRules[下标].style.属性=值
适用于FF
***************************************************************

document.styleSheets[0].rules[0].style.width
cssrule().width
cssrule().height="500px";
cssrule().margin="100px";

function cssrule (a,b) {
  var a= a || 0;
  var b= b ||0;
  if(document.all){
   return  document.styleSheets[a].rules[b].style 
  }else{
  return document.styleSheets[a].cssRules[b].style
  }
}
var b= b ||0;
如果b不等于undefined和null,也就是说b有东西那a就等于b的值
不然就等于默认值0
var a= b || c
在js中,这相当于一个赋值语句,如果b的值大于0或为true,那么就把b的值赋给a,否在就把c的值赋给
布尔值,javascript中以下值会被转换为false
1.false 2.undefined 3.null 4.0 5.-0 6.NaN 7."" 8.''

3.动态的添加删除css样式规则
 document.styleSheets[下标].insertRule("选择器{属性:值}",位置)    deleteRule(位置)

document.styleSheets[下标].addRule("选择器","属性:值",位置)
document.styleSheets[0].addRule(".div1","margin:200px",0);
document.styleSheets[0].removeRule(1);
//对象.currentStyle.属性  IE   用来获得实际的样式属性
//getComputedStyle(对象,null)   FF  用来获得实际的样式属性
 var one=document.getElementById("one");
one.currentStyle.width
getComputedStyle(one,null).width

具体使用

动态生成iframe

		var strUrl = Leopard.getContextPath() +
		"/DoMyServlet?className=ExcelPoiAction&methodName=createExcel&btnCode=empdata&forWard=isFile&namesalt="+namesalt+"&func="+_func
	    +"&pbean="+encodeURI(encodeURI(strwhere))+"&btnCode"+empexcel;
		var ifm;
		if (document.getElementById("empexcel_iframe") == undefined) {
			ifm = document.createElement("IFRAME");
			ifm.setAttribute("id", "empexcel_iframe");
			ifm.setAttribute("name", "empexcel_iframe");
			ifm.style.height = "0";
			ifm.style.width = "0";
			ifm.style.display = "block";
			ifm.src = "";
			document.body.appendChild(ifm);
			document.getElementById("empexcel_iframe").attachEvent(
					"onload",
					function() {
						window.frames['empexcel'].document.getElementById("empexcel").click();
					});
		} else {				ifm = document.getElementById("empexcel_iframe");			}
		ifm.src = strUrl; 
public class ExcelPoiAction {
public void createExcel() throws IOException {
		HttpServletRequest req = Request.getInst();
		this.funcCode = req.getParameter("func");		//功能单元
		//this.strWhere = req.getParameter("pbean");		//附件查询条件
		this.strWhere =	java.net.URLDecoder.decode(req.getParameter("pbean"),"utf-8");
		if (!StringUtils.isEmpty(strWhere)) {
			try {
				objWhere = new JSONObject("{" + strWhere + "}");
			} catch (JSONException e) {}
		}
		//获取业务参数
		String busiStr = req.getParameter("busiData");
		if(!StringUtils.isEmpty(busiStr)){
			try {
				this.busiData = JsonUtils.transferToBean(busiStr);
			} catch (Exception e) {}
		}
		exeFuncAct("beforeEmp");					//导出前执行
		HttpServletResponse resp = Response.getInst();
		resp.setContentType("application/x-msdownload;charset=GBK");
		String personBtnCode = req.getParameter("btnCode")==null?this.btnCode:req.getParameter("btnCode").toString();
		String path = getDemoDirSource();// 存储路径
		String name = getDemoName(personBtnCode);// 模板名称
		
		//12.21修改
	    String demoSourcre = path + "/" + name;// 模板绝对路径
	    
	    String nameSalt = req.getParameter("namesalt");  
	    if(!StringUtils.isEmpty(nameSalt)){
	      String fileName = name.split("\\.")[0] +"_"+nameSalt+"."+name.split("\\.")[1];
	      resp.setHeader("Content-Disposition", "attachment; filename=" + ENCODE(fileName, "ISO-8859-1"));
	    }else{
	      resp.setHeader("Content-Disposition", "attachment; filename=" + ENCODE(name, "ISO-8859-1"));
	    }
		// 输出流
		OutputStream out = resp.getOutputStream();
		// 获取数据
		Map<String, List<Map<String, Object>>> data = InitDataByFuncExcelConfig();

		CreateExcel excel = new CreateExcel(demoSourcre, out, busiData);
		excel.setData(data);

		// 创建数据
		excel.CreateEx();
		exeFuncAct("afterEmp");
	}
}

 

 

 

相关标签: js的document对象