javascript操作Document对象

1)Document元数据属性:

characterSet——返回文档的字符集编码,这是一个只读属性;

charset——获取或设置文档的字符集编码;

compatMode——获取文档的兼容性模式(CSS1Compat、BackCompat);

cookie——获取或设置当前文档的cookie;

defaultCharset——获取浏览器所使用的默认字符编码;

defaultView——返回当前文档的window对象;

dir——获取或设置文档的文本方向;

domain——获取或设置当前文档的域名;

implementation——提供可用DOM功能的信息(重点关注hasFeature方法);

lastModified——返回文档的最后修改时间(如果修改时间不可用则返回当前时间);

location——提供当前文档的URL信息;

readyState——返回当前文档的状态,这是一个只读属性(loading、interaction、complete);

referrer——返回链接到当前文档的文档URL(就是对应HTTP标头的值);

title——获取或设置当前文档的标题;

2)使用location对象

protocol——获取或设置文档URL的协议部分;

host——获取或设置文档URL的主机和端口部分;

href——获取或设置当前文档的地址;

hostname——获取或设置文档URL的主机名部分;

port——获取或设置文档URL的端口部分;

pathname——获取或设置URL的路径部分:

search——获取或设置文档URL的查询(问号串)部分;

hash——获取或设置文档URL的锚(#号串)部分;

assign(<URL>)——导航到指定的URL上;

replace(<URL>)——清除当前文档并导航到URL所指定的那个文档;

reload()——重新载入当前的文档;

resolveURL(<URL>)——将指定的相对URL解析成绝对URL;

3)获取HTML元素对象

3.1)使用属性获取元素对象

activeElement——返回一个代表当前带有键盘焦点的元素;

body——返回一个代表body元素的对象;

Embeds、plugins——返回所有代表embed元素的对象;

forms——返回所有代表form元素的对象;

head——返回一个代表head元素的对象;

images—返回所有代表img元素的对象;

links——返回所有代表文档里具备href属性的a和area元素的对象;

scripts——返回所有代表script元素的对象;

3.2)使用数组获取指定id值的对象或指定name值得对象集合

例:var elems=document["apple"],浏览器先去寻找id="apple"的元素,没有则再寻找name="apple"的元素;

3.3)搜索对象

getElementById(<id>)——返回带有指定id值的元素;

getElementsByClassName(<class>)——返回带有指定class值的元素;

getElementsByName(<name>)——返回带有指定name值的元素;

getElementsByTagName(<tag>)——返回指定类型的元素;

querySelector(<selector>)——返回匹配指定CSS选择器的第一个元素;

querySelectorAll(<selector>)——返回匹配指定CSS选择器的所有元素;

4)在DOM树里导航

chiladNodes——返回子元素组;

firstChild——返回第一个子元素;

hasChildNodes()——如果当前元素有子元素就返回true;

lastChild——返回倒数第一个子元素;

nextSibling——返回定义在当前元素之后的兄弟元素;

parentNode——返回父元素;

previousSibling——返回定义在当前元素之前的兄弟元素;

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>上海远地资产管理有限公司</title>
    <meta name="author" content="jason"/>
    <meta name="description" content="上海远地资产管理有限公司(简称:远地资产),是一家专业的互联网金融服务平台."/>
    <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon"/>
    <style type="text/css">
        pre{
            border:medium double green;
        }
    </style>
</head>
<body>
<button id="btn1">点击</button>
<button id="btn2">访问新浪</button>
<p id="p1">
    远地本着“构筑诚信,永续发展”的理念为客户提供专业的理财服务、财富管理以及产品方案推荐。
    远地都进来看看撒将通过自身的专业优势和有效的信息交流平台,为资金富裕方和资金需求方打造一个专业,诚信,共赢,睿智的服务平台,
    帮助客户实现稳定、安全的财富增值,帮助更多优秀的中小型企业融资成功。
</p>
<img id="sohu" class="img" name="xw" src="images/xw_sohu.png" alt="sohu"/>
<p id="p2">
    远地秉承“奉献、拼搏、勤奋、团结奉献”的职业精神,已为200多家企业包括国企、民企和院所提供了企业转型升级、
    战略规划设计、集团组建、组织管理、质量管理体系、人力资源管理体系、财务风险管控和企业综合咨询等服务。
    并与100多家企业建立长期战略伙伴的合作关系。
</p>
<p id="cookiedata"></p>
<button id="write">Add Cookie</button>
<button id="update">Update Cookie</button>
<button id="ready">ReadyState</button>
<pre id="results"></pre>
<pre id="results2"></pre>
<pre id="results3"></pre>
<pre id="results4"></pre>
<pre id="results5"></pre>
<pre id="results6"></pre>
<img id="xw" class="img" src="images/xw_china.png" alt="新闻网图标"/>
<p id="buttons">
    <button id="parent">Parent</button>
    <button id="child">First child</button>
    <button id="prev">prev sibling</button>
    <button id="next">next sibling</button>
</p>
<p id="tblock">
    远地秉承“奉献、拼搏、勤奋、团结奉献”的职业精神,已为200多家企业包括国企、民企和院所提供了企业转型升级、
    战略规划设计、<span id="jt">集团组建</span>、组织管理、质量管理体系、
    <span id="rl">人力资源管理体系</span>、财务风险管控和<span id="qy">企业综合咨询等服务</span>。
    并与100多家企业建立长期战略伙伴的合作关系。
</p>
<script>
    //document对象示例
    document.writeln("<pre>URL:"+ document.URL);
    var elems=document.getElementsByTagName("p");
    for(var i=0;i<elems.length;i++){
        document.writeln("Element ID:"+elems[i].id);
        elems[i].style.border="medium double black";
        elems[i].style.padding="4px";
    }
    //document对象元数据
    document.writeln("</pre>");
    document.writeln("<pre>");
    document.writeln("characterSet:"+document.characterSet);
    document.writeln("charset:"+document.charset);
    document.writeln("compatMode:"+document.compatMode);
    document.writeln("defaultCharset:"+document.defaultCharset);
    document.writeln("dir:"+document.dir);
    document.writeln("domain:"+document.domain);
    document.writeln("lastModified:"+document.lastModified);
    document.writeln("referrer:"+document.referrer);
    document.writeln("title:"+document.title);
    //location对象
    document.writeln("protocol:"+document.location.protocol);
    document.writeln("host:"+document.location.host);
    document.writeln("hostname:"+document.location.hostname);
    document.writeln("port:"+document.location.port);
    document.writeln("pathname:"+document.location.pathname);
    document.writeln("search:"+document.location.search);
    document.writeln("hash:"+document.location.hash);
    document.writeln("</pre>");
    //使用location对象导航到其他地方
    document.getElementById("btn1").οnclick=function(){
        document.location.hash="xw";
    }
    //使用location对象导航到其他文档
    document.getElementById("btn2").οnclick=function(){
        document.location.assign("http://www.sina.com.cn");
    }
    //读取和写入cookie
    var cookieCount=0;
    document.getElementById("update").οnclick=updateCookie;
    document.getElementById("write").οnclick=createCookie;
    readCookies();
    function readCookies(){
        document.getElementById("cookiedata").innerHTML=document.cookie;
    }
    function createCookie(){
        cookieCount++;
        document.cookie="Cookie_"+cookieCount+"=Value_"+cookieCount;
        readCookies();
    }
    function updateCookie(){
        document.cookie="Cookie_"+cookieCount+"=Updated_"+cookieCount;
        readCookies();
    }
    //document.readyState属性
    document.onreadystatechange=function(){
        if(document.readyState=="interactive"){
            document.getElementById("ready").οnclick=function(){
                document.getElementById("results").innerHTML="用户已经点击";
            }
        }
    }
    //获取DOM的实现情况
    var features=["Core","HTML","CSS","Selectors-API"];
    var levels=["1.0","2.0","3.0"];
    document.writeln("<pre>");
    for(var i=0;i<features.length;i++){
        document.writeln("checking for feature:"+features[i]);
        for(var j=0;j<levels.length;j++){
            document.write(features[i]+"Level"+levels[j]+":");
            document.writeln(document.implementation.hasFeature(features[i],levels[j]));
        }
    }
    document.write("</pre>");

</script>
<script>
    //使用属性获取元素对象
    var results2Element=document.getElementById("results2");
    var Imgelems=document.images;
    for(var i=0;i<elems.length;i++){
        results2Element.innerHTML+="Image Element:"+Imgelems[i].id+"\n";
    }
    var srcValue=Imgelems.namedItem("sohu").src;
    results2Element.innerHTML += "Src for sohu element is:"+srcValue+"\n";
</script>
<script>
    //使用数组标记获取已命名元素
    var results3Element=document.getElementById("results3");
    var xwElems=document["xw"];
    if(xwElems.namedItem){
        for(var i=0;i<xwElems.length;i++){
            results3Element.innerHTML+="Image Element:"+xwElems[i].id+"\n";
        }
    }else{
        results3Element.innerHTML += "Src for  element is:"+xwElems.src+"\n";
    }
</script>
<script>
    //搜素元素:使用document.getElement开头的方法
    var results4Element=document.getElementById("results4");
    var pElems=document.getElementsByTagName("p");
    results4Element.innerHTML+="这里有"+pElems.length+"个p元素\n";
    var imgElems=document.getElementsByClassName("img");
    results4Element.innerHTML+="这里有"+imgElems.length+"个class=img的元素\n";
    var nameElems=document.getElementsByName("xw");
    results4Element.innerHTML+="这里有"+nameElems.length+"个name=xw的元素\n";
</script>
<script>
    //搜素元素:使用CSS选择器获取元素对象
    var results5Element=document.getElementById("results5");
    var Elems=document.querySelectorAll("p,img#xw");
    results5Element.innerHTML+="这里有"+Elems.length+"个匹配的元素\n";
</script>
<script>
    //在DOM树里导航
    var results6Element=document.getElementById("results6");
    var element=document.getElementById("tblock");
    var buttons=document.getElementById("buttons").getElementsByTagName("button");
    for(var i=0;i<buttons.length;i++){
        buttons[i].οnclick=handleButtonClick;
    }
    processNewElement(element);
    function handleButtonClick(e){
        if(element.style){
            element.style.backgroundColor="white";
        }
        if(e.target.id=="parent" && element!=document.body){
            element=element.parentNode;
        }else if(e.target.id=="child" && element.hasChildNodes()){
            element=element.firstChild;
        }else if(e.target.id=="prev" && element.previousSibling){
            element=element.previousSibling;
        }else if(e.target.id=="next" && element.nextSibling){
            element=element.nextSibling;
        }
        processNewElement(element);
        if(element.style){
            element.style.backgroundColor="blue";
        }
    }
    function processNewElement(elem){
        results6Element.innerHTML="Element Type:"+elem+"\n";
        results6Element.innerHTML+="Element id:"+elem.id+"\n";
        results6Element.innerHTML+="Has child nodes:"+elem.hasChildNodes()+"\n";
        if(elem.previousSibling){
            results6Element.innerHTML+=("Prev sibling is:"+elem.previousSibling+"\n");
        }else{
            results6Element.innerHTML+=(" NO Prev sibling\n");
        }
        if(elem.nextSibling){
            results6Element.innerHTML+=("Next sibling is:"+elem.nextSibling+"\n");
        }else{
            results6Element.innerHTML+=(" NO next sibling\n");
        }

    }
</script>
</body>
</html>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值