document.uniqueID

    技术2022-05-11  115

    这两天来一直在写dom,郁闷与ie的不符合标准,火狐和ie的处理dom的不兼容。下面是一个兼容的例子,我可花费了很长时间。贴出来以备后用。

    ie和非ie 在解析dom 上有些区别,如何做到页面能在ie和非ie浏览器中都正常显示,就需要某种浏览器嗅探(sniffing)机制,使得在解析dom时能执行正确的方法。幸运的时,不用检查大量的不同的浏览器,假设只使用现代浏览器,脚本只需要在ie和其他浏览器之间做区分就行了。

    ie能识别出名为uniqueID的document对象的专用属性,名为uniqueID,ie是唯一能够识别这个属性的浏览器,所以uniqueID很适合用来确定脚本是不是在Ie中运行。使用document.uniqueID。

     

     <%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="/webwork" prefix="ww"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head>

      <title>Test data display</title>

      <meta http-equiv="pragma" content="no-cache">  <meta http-equiv="cache-control" content="no-cache">  <meta http-equiv="expires" content="0">  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="this is my page">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <style type="text/css"><!--.id { font-family: "宋体"; color: #000000; background-color: #E9F8CF; text-align: center;}.lottey { color: #e10000; background-color: #E9F8CF; background-position: center; text-align: center; font-weight:bold}.c1 { color: #B9B9BD; background-color: #E9F8CF; text-align: center;}.c2 { color: #B9B9BD; background-color: #d0e6f7; text-align: center;}.c_red { color: #FFFFFF; background-color: #FF0000; text-align: center;}.c_blue { color: #FFFFFF; background-color: #0000CC; text-align: center;}--></style>

    <SCRIPT type="text/javascript"> function init(){  var arr;// <tr>对象数组  var num="";//期数的开奖号码  var numArr = new Array();      arr = document.getElementById("data").childNodes;//子节点数组 

        for(var i=0; i<arr.length;i++){

         if (arr[i].nodeType==3){//文本节点      //alert("text");      continue;     }          var period="";     if (document.uniqueID){      //alert("execute ie");      period = arr[i].childNodes[1].getAttribute("id");// 期数值     }else{      //alert("execute w3c");      period = arr[i].childNodes[3].getAttribute("id");     }     num = jsTrim(document.getElementById(period+"_number").firstChild.nodeValue);//期数的开奖号码     for (var i=0; i<num.length;i++){

          numArr[i]= num.substring(i,i+1);      var id = period+"_"+i+"_"+numArr[i];//单元格id            if (i%2==0){       document.getElementById(id).className="c_red";      }else{       document.getElementById(id).className="c_blue";      }     }        }      }   /*删除空行和空格*/   function jsTrim(str){   var re;    re = /^[ /t]*|[ /t]*$/g;    str = str.replace(re, '');    var p=//s/g;    str=str.replace(p,"");    return(str);   }</SCRIPT> </head>

     <body οnlοad="javascript:init()">

      <table width="100%" border="0" cellspacing="0" cellpadding="0">   <TBODY id="data">    <ww:iterator value="p_lst" status="rows">     <tr>      <td class="id"><ww:property value="#rows.index" /></td>      <td class="id" id="<ww:property value='serialNum'/>">       <ww:property value="serialNum" />      </td>      <td class="lottey" id="<ww:property value='serialNum'/>_number">       <ww:property value="number" />      </td>      <td>       <TABLE width="100%">        <TBODY id="display">         <tr>          <td class="c1" id="<ww:property value='serialNum'/>_0_0">           0          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_1">           1          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_2">           2          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_3">           3          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_4">           4          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_5">           5          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_6">           6          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_7">           7          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_8">           8          </td>          <td class="c1" id="<ww:property value='serialNum'/>_0_9">           9          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_0">           0          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_1">           1          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_2">           2          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_3">           3          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_4">           4          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_5">           5          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_6">           6          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_7">           7          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_8">           8          </td>          <td class="c2" id="<ww:property value='serialNum'/>_1_9">           9          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_0">           0          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_1">           1          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_2">           2          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_3">           3          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_4">           4          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_5">           5          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_6">           6          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_7">           7          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_8">           8          </td>          <td class="c1" id="<ww:property value='serialNum'/>_2_9">           9          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_0">           0          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_1">           1          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_2">           2          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_3">           3          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_4">           4          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_5">           5          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_6">           6          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_7">           7          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_8">           8          </td>          <td class="c2" id="<ww:property value='serialNum'/>_3_9">           9          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_0">           0          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_1">           1          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_2">           2          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_3">           3          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_4">           4          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_5">           5          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_6">           6          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_7">           7          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_8">           8          </td>          <td class="c1" id="<ww:property value='serialNum'/>_4_9">           9          </td>         </tr>        </TBODY>       </TABLE>      </td>     </tr>    </ww:iterator>   </TBODY>  </table> </body>

    </html>


    最新回复(0)