document&time

来源:互联网 发布:pc正常手机收不到json 编辑:程序博客网 时间:2024/05/20 11:27

document.getElementById("XX").innerHtml

关键词:Java script ,HTML元素,getElementById,getElementsByName,getElementsByTagName,语法,ID属性

getElementById getElementsByName getElementsByTagName 大概介绍

  getElementById ,getElementsByName ,getElementsByTagName

  后两个是得到集合,byid只是得到单个对象

  getElementById 的用法

  举个例子:

  <a id="link1" name="linkname1" href=http://homepage.yesky.com>网页陶吧</a>

  同一页面内的引用方法:

  1、使用id:

  link1.href,返回值为http://homepage.yesky.com

  2、使用name:

  document.all.linkname1.href,返回值为http://homepage.yesky.com

  3、使用sourseIndex:

  document.all(4).href //注意,前面还有HTML、HEAD、TITLE和BODY,所以是4

  4、使用链接集合:

  document.anchors(0).href

  //全部的集合有all、anchors、applets、areas、attributes、 behaviorUrns、bookmarks、boundElements、cells、childNodes、children、 controlRange、elements、embeds、filters、forms、frames、images、imports、links、 mimeTypes、options、plugins、rows、rules、 script s、styleSheets、tBodies、 TextRectangle,请参考MSDN介绍。

  其实方法3和方法4是一样使用的集合,只是一个是all,可以包括页面所有标记,而anchors只包括链接。

  5、getElementById:

  document.getElementById("link1").href

 

  6、getElementsByName:

  document.getElementsByName("linkname1")[0].href //这也是一个集合,是所有name等于该方法所带参数的标记的集合

  7、getElementsByTagName:

  document.getElementsByTagName("A")[0].href //这也是一个集合,是所有标记名称等于该方法所带参数的标记的集合

  8、tags集合:

  document.all.tags("A")[0].href

  //与方法7一样是按标记名称取得一个集合

  除此之外:

  event.scrElement可以获得触发时间的标记的引用;

  document.elementFromPoint(x,y)可以获得x和y坐标处的元素的引用;

  document.body.componentFromPoint(event.clientX,event.clientY)可以获得鼠标所在处元素的引用;

  还可以通过元素的父子节点和兄弟节点关系来引用,如nextSibling(当前节点的后一节点)、 previousSibling(当前节点的前一节点)、childNodes、children、firstChild、lastChild、 parentElement等都是父子节点和兄弟节点的一些引用;还不仅限于此。

  上面是同一页面内的常见引用方法,另外还涉及到不同页面中的

  getElementsByName返回的是所有name为指定值的所有元素的集合

  “根据 NAME 标签属性的值获取对象的集合。”

  集合比数组要松散的多, 集合里每个子项的类型可以不同, 集合只是把某些元素放在一起作为一类来使用, 相比之下数组就严格多了, 每个子项都是统一的类型. document.getElementsByName, document.getElementsByTagName, document.formName.elements 这类方法所得到的结果都是集合.

  例:

<html>
<head>
<title>fish</title>
< script language="java script ">
function get(){
var xx=document.getElementById("bbs")
alert("标记名称:"+xx.tagName);
}
function getElementName(){
var ele = document.getElementsByName("happy");
alert("无素为happy的个数:" + ele.length);
}
</ script ></head>
<body>
<h2 id="bbs">获取文件指定的元素</h2>
<hr>
<form>
<input type="button" onclick="get()" value="获取标题标记">
<input type="button" name="happy" onclick="getElementName()" value="click ">
<input type="button" name="happy" onclick="getElementName()" value="click ">
<input type="button" name="happy" onclick="getElementName()" value="click ">
<input type="button" name="happy" onclick="getElementName()" value="click ">
<input type="button" name="happy" onclick="getElementName()" value="click ">
</form>
</body>
</html>


  document.getElementsByName()这个方法.它对一个和多个的处理是一样的,我们可以用:

  Temp = document.getElementsByName('happy')来引用

  当Temp只有1个的时候,那么就是Temp[0],有多个的时候,用下标法Temp[i]循环获取

  也有例外:

  在ie 中getElementsByName(“test“)的时候返回的是id=test的object数组,而firefox则返回的是name= test的object的数组。

  按照w3c的规范应该是返回的是name= test的object的数组。

  firefox和ie中的getElementByID相同:获取对 ID 标签属性为指定值的第一个对象的引用。

  注意getElementsByName 有s在里面

  document.getElementById()可以控制某个id的tag

  document.getElementsByName(),返回的是一个具有相同 name 属性的元素的集合,而不是某个,注意有“s”。

  而 document.getElementsByTagName() 返回的是一组相同 TAG 的元素集合。

  同一个name可以有多个element,所以用document.getElementsByName("theName")

  他return 一个collection,引用的时候要指名index

  var test = document.getElementsByName('testButton')[0];

  id那个,是唯一的

  还应该注意:对类似没有name属性,对它name属性为伪属性document.getElementsByName() 会失效,当然TD可以设置ID属性,然后用 document.getElementsByID("DDE_NODAY"); 调用。

 

< script LANGUAGE="Java script ">
<!--
var myDate = new Date();
    myDate.getYear();       //获取当前年份(2位)
    myDate.getFullYear();   //获取完整的年份(4位,1970-????)
    myDate.getMonth();      //获取当前月份(0-11,0代表1月)
    myDate.getDate();       //获取当前日(1-31)
    myDate.getDay();        //获取当前星期X(0-6,0代表星期天)
    myDate.getTime();       //获取当前时间(从1970.1.1开始的毫秒数)
    myDate.getHours();      //获取当前小时数(0-23)
    myDate.getMinutes();    //获取当前分钟数(0-59)
    myDate.getSeconds();    //获取当前秒数(0-59)
    myDate.getMilliseconds();   //获取当前毫秒数(0-999)
    myDate.toLocaleDateString();    //获取当前日期
    var mytime=myDate.toLocaleTimeString();    //获取当前时间
    myDate.toLocaleString( );       //获取日期与时间

if (mytime<"23:30:00")
{
alert(mytime);
}
//-->
</ script >

 

 


思路:1.创建一个文本用于输出时间;
     2.实例化一个Date类,给定参数为倒计时时间;
     3.用倒计时时间减不断变化的新的系统时间求出相差的毫秒数;
     4.最后学会毫秒-秒-分钟-小时-天之间转换。

 

加入AS代码:
_root.createTextField("txt", 1, 150, 150, 0, 0);
txt.autoSize = true;
//创建一个文本框用于输出时间
var year = 2008;
var month = 8;
var date = 8;
var hour = 20;
var minute = 0;
var second = 0;
//设置定时时间(本例以北京奥运为倒计时)
var End:Date = new Date(year, month-1, date, hour, minute, second);
//Date类实例化将日期和时间指定为毫秒, 月份(0~11)所以要减1


_root.onEnterFrame = function () {

 var Now:Date = new Date();
 //获得当前的日期和时间(单位:毫秒)

 

 var dif = (End-Now)/1000;
 //计算出二者相差的毫秒数,除以1000转换为秒数

 

 var dif_d = Math.floor(dif/(3600*24));
 //相差的天数=[相差的总秒数/一天的总秒数(60秒*60分*24小时)]

 

 var dif_h = Math.floor((dif-dif_d*3600*24)/3600);
 //相差的小时=[(天数取整后剩于的总秒数)/一小时的总秒数]

 

 var dif_m = Math.floor((dif-dif_d*3600*24-dif_h*3600)/60);
 //相差的分钟=[(天数和小时取整后剩于的总秒数)/一分钟的总秒数]

 

 var dif_s = Math.floor(dif-dif_d*3600*24-dif_h*3600-dif_m*60);
 //相差的秒数=[天数和小时和分钟取整后剩于的总秒数]

 

 txt.text = dif_d+"天 "+dif_h+"小时 "+dif_m+"分钟 "+dif_s+"秒";
};

 

Flash充电: Date类简介
1.Date类的构造函数
public Date([yearOrTimevalue:Number], [month:Number], [date:Number], [hour:Number],[minute:Number], [second:Number], [millisecond:Number])

 

2.构造函数中的参数
yearOrTimevalue:Number [可选]: 如果指定了其它参数,则此数字表示年份(如 1965)。如果该数字表示

时间值(未指定任何其它参数),则为 1970 年 1月 1日 0:00:00 之前或之后的毫秒数。

month:Number [可选]: 0(一月)到 11(十二月)之间的整数。

date:Number [可选]: 1 到 31 之间的整数。

hour:Number [可选]: 0(午夜) 到 23(晚上11点)之间的整数。

minute:Number [可选]: 0 到 59 之间的整数。

second:Number [可选]: 0 到 59 之间的整数。

millisecond:Number [可选]: 0 到 999 之间的整数(毫秒)。

 

3.示例

例1:
var d1:Date = new Date();
//Date 对象被设置为运行赋值语句的时间。
trace(d1)
//返回: Tue Dec 18 22:35:38 GMT+0800 2007

 

例2:
var d2:Date = new Date(2000, 0, 1);
//使用传递 Date 对象的年份、月份和日期参数创建 Date 对象。

trace(d2)
//返回: Sat Jan 1 00:00:00 GMT+0800 2000

 

例3:
var d1:Date = new Date();
var d2:Date = new Date(2000, 0, 1);
var dif = d1-d2
trace(dif);
//返回相差的毫秒数: 251332873437

 

例4:也可以通过getTime()函数得到相同的结果
var d1:Date = new Date();
var d2:Date = new Date(2000, 0, 1);
var dif = d1.getTime()-d2.getTime();
trace(dif);
//返回相差的毫秒数: 251332873437