dom对象与jquery对象转换

<script type="text/javascript">
/**
    功能:点击每个链接时弹出对话窗
 
 //js:

window.οnlοad=function(){
	 var dom=document.getElementsByTagName("a");
	 for(var i=0;i<dom.length;i++){
		 dom[i].οnclick=function(){
			 alert("js");
		 }
	 }
 }

 //jquery
 $(function(){
	 $("a").click(function(){
		 alert("jquery");
	 });
 })
 */
 
 
/**
 *  *dom对象与jquery对象转换
 *
 * 
 *  虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错。
 *  比如:$("#test").innerHTML、document.getElementById("id").html()之类的写法都是错误的。 
 *  还有一个要注意的是:用#id作为选择符取得的是jQuery对象与document.getElementById("id")得到的DOM对象,这两者并不等价。请参看如下说的两者间的转换。 
 *  既然jQuery有区别但也有联系,那么jQuery对象与DOM对象也可以相互转换。在再两者转换前首先我们给一个约定:如果一个获取的是jQuery对象,那么我们在变量
 *  前面加上$,如:var $variab = jQuery对象;如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。 


 * jQuery对象转成DOM对象: 

	 两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); 

 	(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 
	   如:var $v =$("#v") ; //jQuery对象 
	 var v=$v[0];    //DOM对象 
 	 alert(v.checked)   //检测这个checkbox是否被选中 

    (2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象 
            如:var $v=$("#v");  //jQuery对象 
	 var v=$v.get(0);   //DOM对象 
 	 alert(v.checked)  //检测这个checkbox是否被选中 
 
 * DOM对象转成jQuery对象: 

 	对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象) 
	 如:var v=document.getElementById("v");  //DOM对象 
	var $v=$(v);    //jQuery对象 
	 转换后,就可以任意使用jQuery的方法了。 
	 通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。 
 */
 $(function(){
	 var dom=document.getElementsByTagName("a")[0];
	 
 	 //将dom对象转换为jquery对象
 	 var $jqu=$(dom);
 	 alert("dom:"+dom.innerHTML);
 	 alert("jquery:"+$jqu.html());
	
	//将jquery对象转换为dom对象
	var $jqu=$("a");
	var dom=$jqu.get(0);
	//或者  var dom=$jqu[0];
	alert(dom.innerHTML);
 })
 
</script>




------------------------------------------------------------------再转---------------------------------------------------

  
  
一、DOM简述     DOM—Document Object Model,它是W3C国际组织的一套Web标准。它定义了访问HTML文档对象的一套习属性、方法和事件。      DOM是以层次结构组织的节点或信息片断的集合。文档对象模型(Document Object Model)是给HTML与XML文件使用的一组API。DOM的本质是建立网页与脚本语言或程序语言沟通的桥梁。     浏览器对象是一个分层结构,也称为文档对象模型,如下图所示:

 

 

 
从上图可以看出: (1)打开网页后,首先看到的是浏览器窗口,即顶层的window对象。 (2)其次,看到的是网页文档的内容,即document文档。 (3)定位对象:      window.document.myform.text1      或      document.myform.text1      因为window窗口对象是所有页面的根对象,所以常常省略。 (4)地址对象location和历史对象history,它他对应IE浏览器中的地址栏和前进/后退按钮。
二、窗口window 常用属性: 1 window.clesed:指明窗口是否关闭。 2 window.defaultValue:窗口状态栏的默认信息。 3 window.docement:表示浏览器窗口中的HTML文档。 4 window.location:表示有关当前URL的信息。 5 window.history:表示有关当前访问过的RUL的信息。 6 window.name:设置或检索窗口或框架的名称。 7 window.screen:包含有关客户的屏幕和显示性能的信息。 8 window.screenX:窗口X坐标 9 window.screenY:窗口Y坐标 10 window.status:设置或检索窗口状态栏中的信息。 11 window.title:设置或检索窗口顶部标题栏中的信息。 12 window.self:当前窗口。 13 window.parent:当前窗口的最上层窗口。 14 window.top:当前显示的窗口的最上层窗口。 15 window.opener:所打开“子窗口”的“父窗口”的名称。
得到当前窗口的详细信息:
<head>
    <title>JavaScript</title>
</head>
<body >
 <script language="javascript"&lt;/span> type="text/javascript">
    window.document.writeln("当前位置:"+window.location+"</br>");
    window.document.writeln("包含窗口个数:"+window.length+"</br>");
    window.document.writeln("当前状态栏的信息:"+window.status+"</br>");
    window.document.writeln("当前窗口的名称:"+window.name+"</br>");
    window.document.writeln("当前窗口的X、Y坐标是:"+window.screenX+","+window.screenY);
 </script>
</body> 常用方法: 1 window.alert(“提示信息”):显示一个包含确定按钮的对话框。 2 window.blur():使对象失去焦点并激发onblur事件。 3 window.close():关闭窗口。 4 window.open(“打开窗口的url”,”窗口名”,”窗口特征”):按指定特征打开窗口。  窗口特征参数如下:  height:窗口高度  width:窗口宽度  top:窗口距屏幕上方的象素值  left:窗口跟屏幕左侧的象素值  toolbar:是否显示工具栏,yes或1表示显示,no或0表示不显示。  menubar:是否显示菜单栏,yes或1表示显示,no或0表示不显示。  scrollbars:是否显示滚动栏,yes或1表示显示,no或0表示不显示。  resizable:是否允许改变窗口大小,yes或1表示否允,no或0表示不否允示。  location:是否显示地址栏,yes或1表示显示,no或0表示不显示。  status:是否显示状态栏,yes或1表示显示,no或0表示不显示。 5 window.confirm(“提示信息”):显示一个确认对话框,包括确定和取消按钮。当点确定按钮时返回的是true,点取消按钮时返回的是false。 6 window.prompt(“提示信息”,显示在text中的默认值):显示带输入框提示对话框,主要用来收集信息。当点确定按钮时返回的是true,点取消按钮时返回的是false。        var str=prompt("请出题,看谁算得快:","");
       var result=eval(str);        alert("得到的值是: "+result); 7 窗口定位的方法: (1) window.moveBy(x,y):实现窗口的定向、定量移动。两个参数分别表示x方向移动的距离和y方向移动的距离。 (2) window.moveTo(x,y):把窗口移动到指定坐标位置。两个参数分别表示横坐标、纵坐标。
<head>
    <title>JavaScript</title>
<script language="javascript" type="text/javascript">
    //moveBy(x,y)
    //右移
     function moveByRight()
     {
        window.moveBy(20,0);
     }  
     //左移
     function moveByLeft()
     {
        window.moveBy(-20,0);
     }
    
     //moveTo()
     //右上角
     function moveToRightUp()
     {
        window.moveTo(400,0);
     }
     //左上角
     function moveToLeftUp()
     {
        window.moveTo(0,0);
     }
</script>
</head>
<body >
<p>window.moveBy(x,y):实现窗口的定向、定量移动。两个参数分别表示x方向移动的距离和y方向移动的距离。<br /></p>
<input type="button" value="右移" οnclick="moveByRight()" />
<input type="button" value="左移" οnclick="moveByLeft()" />
<p>window.moveTo(x,y):把窗口移动到指定坐标位置。两个参数表示横坐标、纵坐标。<br/></p>
<input type="button" value="右上角" οnclick="moveToRightUp()" />
<input type="button" value="左上角" οnclick="moveToLeftUp()" />
</body> 8 窗口大小控制的两个方法:
(1)resizeBy(x,y):按指定的尺寸调整窗口的大小。两个参数分别表示在水平方向上的改变量和垂直方向上的改变量。 (2)resizeTo(x,y):把窗口调整到指定尺寸。两个参数分别表示浏览器窗口的宽和高。 <head>
    <title>JavaScript</title>
<script language="javascript" type="text/javascript">
    //resizeBy(x,y)
    //水平增加
    function moveRightA()
    {
        window.resizeBy(20,0);
    }
   
    //竖直减小
    function moveDown()
    {
        window.resizeBy(0,-20);
    }
   
    //resizeTo(x,y)
    //800*600
    function change1()
    {
        window.resizeTo(800,600);
    }
   
    //1400*900
    function change2()
    {
        window.resizeTo(1400,900);
    }
</script>
</head>
<body >
<p>resizeBy(x,y):按指定的尺寸调整窗口的大小。两个参数分别表示在水平方向上的改变量和垂直方向上的改变量。<br /></p>
<input type="button" value="水平增加" οnclick="moveRightA()" />
<input type="button" value="竖直减小" οnclick="moveDown()" />
<p>resizeTo(x,y):把窗口调整到指定尺寸。两个参数分别表示浏览器窗口的宽和高。<br/></p>
<input type="button" value="800*600" οnclick="change1()" />
<input type="button" value="1400*900" οnclick="change2()" />
</body>
9 操作定时器的两个方法:  (1)setTimeout(“函数’,毫秒数):设置定时器,经过指定毫秒值后执行某个函数。 (2)clearTimeout(定时器对象):取消某个定时器。
例:动态显示时间
 <head>
    <title>JavaScript</title>
<script language="javascript" type="text/javascript">
    function dispTime()
    {
        var time=new Date();
        var hour=time.getHours();
        var minute=time.getMinutes();
        var second=time.getSeconds();
        var apm="AM";//默认是上午
        if(hour>12)
        {
            hour=hour-12;
        }
        if(minute<10)
        {
            minute="0"+minute;
        }
        if(second<10)
        {
            second="0"+second;
        }
       
        document.myform.myClock.value=hour+":"+minute+":"+second+" "+apm;
        var myTime=setTimeout("dispTime()",1000);
       
    }
   
</script>
<style type="text/css">
    input{
        font-size:50px;
        color:#cc0000;
        border-style:none;
    }
<</style>
</head>
<body οnlοad="dispTime()">
<form name="myform" action="">
    <div align="center">
        <input name="myClock" type="text" value="" size="15"/>
    </div>
</form>
</body>
 
例:window.opener、window.alert()、window.confirm()等的应用.
<head>
    <title>JavaScript</title>
    <script language="javascript">
    var text1="    我相信,会有一个公正而深刻的认识来为我们总结的!";
    var text2="那时,我们这一代独立的奋斗、思索、烙印和选择才会显露其意义。但那时我们也";
    var text3="将为自己的曾有的幼稚、错误和局限而后悔,更会感慨自己无法重新生活。这是一种";
    var text4="深刻的悲观的基础。但是,对于一个幅员辽阔又历史悠久的国度来说,前途最终是";
    var text5="光明的。因为这个母体里会有一种血统,一种水土,一种创造的力量是活泼健壮的";
    var text6="新生婴儿生于世,病态软弱的呻吟将在他们的欢声叫喊中被除数淹没。从这种观点看来,一切又应当是乐观的!";
    var text=text1+text2+text3+text4+text5+text6;
   
    function viewit()
    {
       if(confirm("这里有一段名著,看吗?"))
       {
            window.alert("看了就对了,多精彩啊!");
            var result_win=window.open("","mywin","menubar=no,toolbar=yes,width=500,height=200,resizable=yes");
            result_win.document.writeln(text);
       }
       else
       {
         window.alert("没有时间啊,那就算了吧!");
       }
     }
     //关闭时不弹'确认'对话框
     function closed()
     {
       window.opener=null;
       window.close();
     }
    </script>
</head>
<body οnlοad="viewit()">
<input type="button" οnclick="closed()" value="关闭时不弹'确认'对话框"/>
</body>

 
 
三、历史对象history主要属性:1 window.history.length:得到浏览器历史清单中的项目个数。主要方法:1 window.history.back():加载History列表中的上一个URL,相当于IE的后退按钮。等同于window.history.go(-1);2 window.history.forward():加载History列表中的下一个URL,相当于IE的前进按钮。等同于window.history.go(1);3 go(“url” or number):加载History列表中的一个URL,或要求浏览器移动指定的页面数。
<body>
<a href="javascript:window.history.go(-1);">go上一步</a>
<a href="javascript:window.history.go(1);">go下一步</a>
<a href="javascript:window.history.go('http://www.hao123.com');">跳转到指定URL</a>
<a href="javascript:window.history.back();">back上一步</a>
<a href="javascript:window.history.forward();">forward下一步</a>
<script language="javascript" type="text/javascript" >
    window.document.writeln("history对象中URL的个数:"+window.history.length);
</script>
</body>

 
四、地址对象location      此对象相当于IE浏览器中的地址栏,包含了关于当前URL地址的信息.它提供了一种重新加载当前URL的方法。
主要属性:1 window.location.hash:设置或检索另一个页面里的锚2 window.location.host:设置或检索URL的主机名和端口号3 window.location.hostname:设置或检索URL的主机名部分4 window.location.pathname:设置或检索URL相对路径5 window.location.href:设置或检索完整的URL字符串(常用)6 window.location.port:设置或检索主机端口号
<script language="javascript" type="text/javascript">
    window.document.writeln("锚 "+window.location.hash+"</br>");
    window.document.writeln("主机名及端口号 "+window.location.host+"</br>");
    window.document.writeln("主机名 "+window.location.hostname+"</br>");
    window.document.writeln("端口号 "+window.location.port+"</br>");
    window.document.writeln("相对路径 "+window.location.pathname+"</br>");
    window.document.writeln("URL链接字符串 "+window.location.href+"</br>");
 </script>

主要方法:1 assign(“url”):加载URL指定的新的HTML文档。2 reload():重新加载当前页。3 replace(“url”):通过加载URL指定的文档来替换当前文档。
<head>
    <title>JavaScript</title>
    <script language="javascript" type="text/javascript">
        function jump()
        {
            window.location.href=window.document.myform.myselect.value;
        }
    </script>
</head>
<body>
<form name="myform">
    <select name="myselect" οnchange="jump()">
        <option>请选择</option>
        <option value="http://www.hao123.com">hao123</option>
        <option value="http://www.163.com">163</option>
        <option value="http://www.csdn.net">csdn</option>
    </select>
</form>
</body>

 
 
五、文档对象Document
         Document对象表示给定浏览器窗口中的HTML文档,并用于检索文档的信息、检查和修改HTML元素和文档中的文本、以及处理事件。主要属性:1 alinkColor:设置或获取元素中所有激活链接的颜色
2 linkColor:设置或获取对象文档链接的颜色。
3 vlinkColor:设置或获取用户已访问过的链接颜色。 
4 URL:设置或获取当前文档的 URL。
5 location:获取当前URL的信息。
6 title:设置或获取当前文档的标题。
7 protocol:设置或获取 URL 的协议部分。
8 readyState:获取表明对象当前状态的值。
9 alinkColor:设置或获取元素中所有激活链接的颜色。
10 bgColor:设置或获取表明对象后面的背景颜色的值。
11 fgColor:设置或获取文档的前景(文本)颜色。
 
12 all:返回对象所包含的元素集合的引用。
13 anchors:获取所有带有 name 和/或 id 属性的 a 对象的集合。此集合中的对象以 HTML 源顺序排列。
14 applets:获取文档中所有 applet 对象的集合。
15 childNodes:获取作为指定对象直接后代的 HTML 元素和 TextNode 对象的集合。
16 embeds:获取文档中所有 embed 对象的集合。
17 forms:获取以源顺序排列的文档中所有 form 对象的集合。
18 frames:获取给定文档定义或与给定窗口关联的文档定义的所有 window 对象的集合。
19 images:获取以源顺序排列的文档中所有 img 对象的集合。
20 links:获取文档中所有指定了 HREF 属性的 a 对象和所有 area 对象的集合。
21 namespaces:获取 namespace 对象的集合。
22 scripts:获取文档中所有 script 对象的集合。
23 styleSheets:获取代表与文档中每个 link 或 style 对象的实例相对应的样式表的 styleSheet 对象的集合。
 
主要方法:
1 clear(): 清除当前文档。
2 close(): 关闭输出流并强制将数据发送到显示。
3 write("text"): 在指定窗口的文档中写入一个或多个 HTML 表达式。
4 writeln("text"): 在指定窗口的文档中写入一个或多个 HTML 表达式,后面追加一个换行符。
5 focus(): 使得元素得到焦点并执行由 onfocus 事件指定的代码。
6 hasFocus():获取表明对象目前是否拥有焦点的值。
7 getElementById("ID "):用于获取页面中ID 标签唯一的对象。
8 getElementsByName("Name "):用于获取一个页面中包含所有指定Name元素的对象数组。9 getElementsByTagName(“TagName”): 用于获取一个页面中包含所有指定标签名元素的对象数组,如document.getElementsByName(“P”)表示得到文档中所<P>标签的引用。
 
例子:通过doucmnet的bgColor属性动态改变背景色
 <head>
    <title>bgColor动态改变背景色</title>
    <script language="javascript" type="text/javascript">
    function change(color)
    {
        window.document.bgColor=color;
     }
    </script>
</head>
<body >
<span οnmοuseοver="change('red')">变红色</span>
<span οnmοuseοver="change('green')">变绿色</span>
<span οnmοuseοver="change('yellow')">变黄色</span>
</body>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值