亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript中parentNode,childNodes,children的應(yīng)用詳解

 更新時(shí)間:2013年12月17日 09:44:35   作者:  
本篇文章是對javascript中parentNode,childNodes,children的應(yīng)用進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

"parentNode"

常用來獲取某個(gè)元素的父節(jié)點(diǎn). 把 parentNodes 理解為容器, 在容器中有個(gè)子節(jié)點(diǎn)    

例:
<div id="parent">
<b id="child">My text</b>
</div>

在上面的代碼中, 你看到把"爹"作為一個(gè) div 容器, 該容器中有個(gè)"孩子", 就是粗體的文字部分. 如果你打算用getElementById() 方法獲取粗體元素并且想知道它"爹"是誰, 返回的信息將是一個(gè) div. 演示下面的腳本, 你就知道是怎么回事啦 ...

引用:

復(fù)制代碼 代碼如下:

<div id="parent">
<b id="child">My text</b>
</div>

<script type="text/javascript">
<!--

alert(document.getElementById("child").parentNode.nodeName);
//-->
</script>


用 parentNode 不一定只找到一個(gè)"爹", "兒子"也可以成為"爹", 如下面的例子 ...

引用:

復(fù)制代碼 代碼如下:

<div id="parent">
         <div id="childparent">
           <b id="child">My text</b>
         </div>
</div>

上面這段代碼中有兩個(gè)"爹"和兩個(gè)"孩子". 頭一個(gè) div ( id "parent") 是第二個(gè) div (childparent) 的"爹".          
在 "childparent" 中有個(gè)粗體元素(id "child"), 是 "childparent" div 的"孩子". 那么, 如何訪問到"爺爺" (id "parent")? 很簡單 ....

引用:

復(fù)制代碼 代碼如下:

<div id="parent">
          <div id="childparent">
             <b id="child">My text</b>
          </div>
</div>

<script type="text/javascript">
<!--

alert(document.getElementById("child").parentNode.parentNode.nodeName);

//-->
</script>


注意到兩個(gè) parentNode 連用了嗎? "parentNode.parentNode". 第一個(gè) parentNode 是 div ( id "childparent"), 因?yàn)槲覀円玫阶钔鈱拥母冈? 所以另外加了一個(gè) parentNode 就到了 div ( id "parent").
使用 parentNode 不只找到某個(gè)元素的 nodeName, 還會更多. 例如, 你可以獲取包含大量元素的父節(jié)點(diǎn), 并在末尾添加一個(gè)新的節(jié)點(diǎn).
IE 有它自己的名稱叫做 "parentElement", 對于交叉瀏覽器腳本建議使用 parentNode.

再啰嗦兩句:
如果將 javascript 放在 html文件頭部, 會發(fā)生錯(cuò)誤. Firefox 會有如下報(bào)錯(cuò):

document.getElementById("child") has no properties

而 IE 則是:

Object Required

原因是所有的支持 javascript 的瀏覽器在完全解析 DOM 之前運(yùn)行 javascript . 在實(shí)際在 Web 編程中,可能會將大多數(shù) javascript 放在 head 標(biāo)簽中. 為了能夠正常運(yùn)行, 需要在函數(shù)中包裹 alert , 在文檔加載后調(diào)用函數(shù). 例如在 Body 標(biāo)簽中加入 .

parentNode、parentElement,childNodes、children 它們有什么區(qū)別呢?
parentElement 獲取對象層次中的父對象。
parentNode 獲取文檔層次中的父對象。
childNodes 獲取作為指定對象直接后代的 HTML 元素和 TextNode 對象的集合。
children 獲取作為對象直接后代的 DHTML 對象的集合。


--------------------------------------------------------

parentNode和parentElement功能一樣,childNodes和children功能一樣。但是parentNode和childNodes是符合W3C標(biāo)準(zhǔn)的,可以說比較通用。而另外兩個(gè)只是IE支持,不是標(biāo)準(zhǔn),F(xiàn)irefox就不支持

--------------------------------------------------------

也就是說parentElement、children是IE自家的東西,別的地方是不認(rèn)的。
那么,他們的標(biāo)準(zhǔn)版就是parentNode,childNodes。
這兩個(gè)的作用和parentElement、children是一樣的,并且是標(biāo)準(zhǔn)的、通用的。

--------------------------------------------------------

以下是簡單的解釋,注意個(gè)別字的差異:
parentNode Property: Retrieves the parent object in the document hierarchy.

parentElement Property:Retrieves the parent object in the object hierarchy.

childNodes:
Retrieves a collection of HTML Elements and TextNode objects that are direct descendants of the specified object.

children:
Retrieves a collection of DHTML Objects that are direct descendants of the object.


parentElement parentNode.parentNode.childNodes用法例子

第一種方法

復(fù)制代碼 代碼如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" C>
<META NAME="Author" C>
<META NAME="Keywords" C>
<META NAME="Description" C>
<SCRIPT LANGUAGE="JavaScript">
<!--
var row = -1;
function showEdit(obj){
var cell2 = obj.parentNode.parentNode.childNodes[1];
var rowIndex = obj.parentNode.parentNode.rowIndex;
cell2.innerHTML = "<input type='text' value='"+ cell2.innerHTML +"'>";
if(row != -1){
var oldCell2 = document.getElementById("tb").rows[row].cells[1];
oldCell2.innerHTML = oldCell2.childNodes[0].value;
}
row = rowIndex;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<TABLE id="tb">
<TR>
<TD><input type="radio" name="rad"></TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD><input type="radio" name="rad"></TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD><input type="radio" name="rad"></TD>
<TD></TD>
<TD></TD>
</TR>
</TABLE>
</BODY>
</HTML>

第二種方法
復(fù)制代碼 代碼如下:

<table border=1 width=100%>
<tr>
    <td><input name=m type=checkbox ></td>
    <td>1111</td>
    <td><input name=aaa value="222" disabled></td>
    <td><input name=bbb value="333" disabled></td>
</tr>
<tr>
    <td><input name=m type=checkbox ></td>
    <td>1111</td>
    <td><input name=aaa value="222" disabled></td>
    <td><input name=bbb value="333" disabled></td>
</tr>
<tr>
    <td><input name=m type=checkbox ></td>
    <td>1111</td>
    <td><input name=aaa value="222" disabled></td>
    <td><input name=bbb value="333" disabled></td>
</tr>
</table>
<SCRIPT LANGUAGE="JavaScript">
function mm(e)
{
var currentTr=e.parentElement.parentElement;
var inputObjs=currentTr.getElementsByTagName("input");
for(var i=0;i<inputObjs.length;i++)
{
   if(inputObjs[i ]==e) continue;
    inputObjs[i ].disabled=!e.checked;
}
}
</SCRIPT>

獲取HTML中的父控件方法
復(fù)制代碼 代碼如下:

function setvalue(v,o)
    {
        //var obj=document.getElementById(''batchRate'');
        //windows.
        alert(o.parentNode.innerHTML);

        alert(o.parentNode); //parentNode此處也是獲取父控件

        alert(o.parentElement); //parentElement此處也是獲取父控件

        alert(o.parentElement.parentNode); //parentElement.parentNode此處也是獲取父控件

        //o.parentNode.bgColor="red";

         o.parentElement.parentNode.bgColor="red";
    }


實(shí)例:
復(fù)制代碼 代碼如下:

<html>
<head>
<meta http-equiv="Content-Language" c>
<meta http-equiv="Content-Type" c>
<title>新建網(wǎng)頁 1</title>
</head>
<script>
    function setvalue(v,o)
    {
        //var obj=document.getElementById(''batchRate'');
        //windows.
        alert(o.parentNode.innerHTML);

        alert(o.parentNode);

        alert(o.parentElement);

        //o.parentNode.bgColor="red";

       o.parentElement.parentNode.bgColor="red";
    }
</script>
<body>
<table border="1" width="100%" id="table1">
<tr>
<td width="250"><a >dfsdfdsfdsa</a></td>
<td> </td>
<td> </td>
</tr>

相關(guān)文章

  • 求js數(shù)組的最大值和最小值的四種方法

    求js數(shù)組的最大值和最小值的四種方法

    本篇文章主要介紹了求js數(shù)組的最大值和最小值的四種方法,具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03
  • 你可能不知道的前端算法之文字避讓(inMap)

    你可能不知道的前端算法之文字避讓(inMap)

    這篇文章主要給大家介紹了關(guān)于前端算法之文字避讓的相關(guān)資料,對于這個(gè)知識相信很多的朋友都不知道,但看到效果會驚嘆不已,實(shí)現(xiàn)這一個(gè)效果主要利用的是inMap文字避讓功能,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • 淺談JavaScript中運(yùn)算符的優(yōu)先級

    淺談JavaScript中運(yùn)算符的優(yōu)先級

    這篇文章主要給大家簡單介紹了JavaScript中運(yùn)算符的優(yōu)先級的相關(guān)問題,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07
  • js事件(Event)知識整理

    js事件(Event)知識整理

    事件(Event)知識整理,本文由網(wǎng)上資料整理而來,需要的朋友可以參考下
    2012-10-10
  • js實(shí)現(xiàn)向右橫向滑出的二級菜單效果

    js實(shí)現(xiàn)向右橫向滑出的二級菜單效果

    這篇文章主要介紹了js實(shí)現(xiàn)向右橫向滑出的二級菜單效果,涉及javascript鼠標(biāo)事件及頁面元素的隱藏與顯示實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • Javascript結(jié)合css實(shí)現(xiàn)網(wǎng)頁換膚功能

    Javascript結(jié)合css實(shí)現(xiàn)網(wǎng)頁換膚功能

    現(xiàn)在網(wǎng)站換皮膚是比較常見的功能,大多數(shù)論壇都有的,要想實(shí)現(xiàn)這樣效果可以看如下代碼.
    2009-11-11
  • JS實(shí)現(xiàn)物體帶緩沖的間歇運(yùn)動效果示例

    JS實(shí)現(xiàn)物體帶緩沖的間歇運(yùn)動效果示例

    這篇文章主要介紹了JS實(shí)現(xiàn)物體帶緩沖的間歇運(yùn)動效果,可實(shí)現(xiàn)物體定時(shí)間歇運(yùn)動的功能,涉及javascript定時(shí)器、數(shù)學(xué)運(yùn)算及頁面元素動態(tài)修改的相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • ES6學(xué)習(xí)之變量的兩種命名方法示例

    ES6學(xué)習(xí)之變量的兩種命名方法示例

    最近在學(xué)習(xí)ES,所以想著將自己學(xué)習(xí)的一些經(jīng)驗(yàn)技巧總結(jié)一下,方便學(xué)習(xí),所以下面這篇文章主要跟大家分享介紹了關(guān)于ES6學(xué)習(xí)之變量的兩種命名方法,文中通過示例代碼介紹的很詳細(xì),需要的朋友們下面來一起看看吧。
    2017-07-07
  • JavaScript去掉數(shù)組重復(fù)項(xiàng)的方法分析【測試可用】

    JavaScript去掉數(shù)組重復(fù)項(xiàng)的方法分析【測試可用】

    這篇文章主要介紹了JavaScript去掉數(shù)組重復(fù)項(xiàng)的方法,結(jié)合實(shí)例形式分析了javascript使用object特性實(shí)現(xiàn)數(shù)組去除重復(fù)項(xiàng)功能的相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • javascript[js]獲取url參數(shù)的代碼

    javascript[js]獲取url參數(shù)的代碼

    多瀏覽器兼容用javascript獲取url參數(shù)的方法比較推薦的一種
    2007-10-10

最新評論