posts - 82, comments - 269, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          JS小結

          Posted on 2007-03-19 10:45 itspy 閱讀(834) 評論(0)  編輯  收藏

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "<html>
          <head>
          <title>JS小結</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

          <SCRIPT LANGUAGE="JavaScript" src="prototype.js">

          </SCRIPT>


          <SCRIPT LANGUAGE="JavaScript">


          function hello(){

          ?

          alert($("testCell").parentNode.nodeName);  //①應該打印div,實際打印"tr"

          alert($("testLine").parentNode.nodeName);  //②應該打印table,實際打印"tbody"

          var tr = document.createElement("tr");

          tr.innerHTML="<td>abc</td>";

          alert(tr.innerHTML);             //③打印的為“abc</td>”

          alert($("testCell").nextSibling.nodeName); //④IE打印“TD”,FireFox打印“#text"

          }
          </SCRIPT>

          <SCRIPT LANGUAGE="JavaScript">

          </SCRIPT>

          </head>

          <body>

          <br/>

          <table width="300" border="1">
          ?
          ? <TR id="testLine">
          ?<div id="testDIV">
          ? ?<TD? id="testCell" >2</TD>
          ? ?<TD>&nbsp;</TD>
          ? ?<TD>&nbsp;</TD>
          ? ?<TD>&nbsp;</TD>
          ?</div>
          ? </TR>?

          </table>

          <br/>

          <INPUT TYPE="submit" onclick="hello();">

          ?

          <br/>

          ①:此處無法打印div是因為,瀏覽器對表格的實現是有強行規定的,在tr中,只能包含td元素。可以參考標準:http://www.w3.org/TR/html401/struct/tables.html#h-11.2.5<br/>
          如果你強行加入一些元素,表格結構也不會破壞,瀏覽器會把你的元素添加到其它地方,比如處于與Table同一層次的級別。<br/><br/>


          ②此處與第一處一樣,沒有打印出table,是因為你雖然沒有在table中定義tbody,但是w3c標準定義了table中一定要包含至少一個tbody。<br/>
          <!ELEMENT TABLE - -(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>,詳情可以參考:http://www.w3.org/TR/html401/struct/tables.html#h-11.2.1<br/>
          ?平時我們對表格進行操作時,應該養成添加行時對tbody進行操作,而不是直接往table中添加tr元素,這樣在不同的瀏覽器上,會有不同的表現。<br/><br/>

          ③處的原因我也不知道為什么,反正只有對<tr><td>這類元素進行處理時要小心就是。其它html元素沒遇到這類問題。<br/><br/>

          ④處就是因為不同的瀏覽器的實現不一樣了,在IE中,遇到回車,空格之類的都會過濾了,不顯示出來。但在IE中,它將其顯示成TEXT節點類型,處理時也要小心點。<br/><br/><br/>


          注:示例的運行,需要prototype庫。完整可以使用的例子可以在如下地址下載
          http://www.aygfsteel.com/Files/itspy/test_ajax.rar

          </body>
          </html>


          ?

          ?

          ?

          ?


          ?


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 喀喇| 阿鲁科尔沁旗| 五峰| 武平县| 伊吾县| 霍邱县| 沂源县| 旺苍县| 汉川市| 怀远县| 屏东县| 鹤壁市| 深泽县| 恩施市| 肃南| 宿州市| 都江堰市| 闽侯县| 修文县| 高尔夫| 永定县| 蓬安县| 镇远县| 西青区| 晋州市| 含山县| 河源市| 洛川县| 湘西| 长武县| 紫云| 静宁县| 桐梓县| 威海市| 舒城县| 鹿泉市| 余庆县| 定南县| 高雄市| 仙桃市| 香港|