CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

问下subYear(obj)里的 var myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes; ..

楼主newredhat(redhat.net)2006-03-15 16:42:44 在 Web 开发 / JavaScript 提问

<script   language=javascript>  
  var   DS_x,DS_y;  
  function   dateSelector()   //构造dateSelector对象,用来实现一个日历形式的日期输入框。  
  {  
    var   myDate=new   Date();  
    this.year=myDate.getFullYear();   //定义year属性,年份,默认值为当前系统年份。  
    this.month=myDate.getMonth()+1;   //定义month属性,月份,默认值为当前系统月份。  
    this.date=myDate.getDate();   //定义date属性,日,默认值为当前系统的日。  
    this.inputName='';   //定义inputName属性,即输入框的name,默认值为空。注意:在同一页中出现多个日期输入框,不能有重复的name!  
    this.display=display;   //定义display方法,用来显示日期输入框。  
  }  
  function   display()   //定义dateSelector的display方法,它将实现一个日历形式的日期选择框。  
  {  
    var   week=new   Array('日','一','二','三','四','五','六');  
    document.write("<style   type=text/css>");  
    document.write("   .ds_font   td,span   {   font:   normal   12px   宋体;   color:   #000000;   }");  
    document.write("   .ds_border   {   border:   1px   solid   #000000;   cursor:   hand;   background-color:   #DDDDDD   }");  
    document.write("   .ds_border2   {   border:   1px   solid   #000000;   cursor:   hand;   background-color:   #DDDDDD   }");  
    document.write("</style>");  
    document.write("<input   style='text-align:center;'   id='DS_"+this.inputName+"'   name='"+this.inputName+"'   value='"+this.year+"-"+this.month+"-"+this.date+"'   title=双击可进行编缉   ondblclick='this.readOnly=false;this.focus()'   onblur='this.readOnly=true'   size='20'   readonly>");  
    document.write("<button   style='width:60px;height:18px;font-size:12px;margin:1px;border:1px   solid   #A4B3C8;background-color:#DFE7EF;'   type=button   onclick=this.nextSibling.style.display='block'   onfocus=this.blur()>选择日期</button>");  
    document.write("<div   style='position:absolute;display:none;text-align:center;width:0px;height:0px;overflow:visible'   onselectstart='return   false;'>");  
    document.write("   <div   style='position:absolute;left:-60px;top:20px;width:142px;height:165px;background-color:#F6F6F6;border:1px   solid   #245B7D;'   class=ds_font>");  
    document.write("   <table   cellpadding=0   cellspacing=1   width=140   height=20   bgcolor=#CEDAE7   onmousedown='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();'   onmouseup='releaseCapture();'   onmousemove='dsMove(this.parentNode)'   style='cursor:move;'>");  
    document.write("   <tr   align=center>");  
    document.write("   <td   width=12%   onmouseover=this.className='ds_border'   onmouseout=this.className=''   onclick=subYear(this)   title='减小年份'><<</td>");  
    document.write("   <td   width=12%   onmouseover=this.className='ds_border'   onmouseout=this.className=''   onclick=subMonth(this)   title='减小月份'><</td>");  
    document.write("   <td   width=52%><b>"+this.year+"</b><b>年</b><b>"+this.month+"</b><b>月</b></td>");  
    document.write("   <td   width=12%   onmouseover=this.className='ds_border'   onmouseout=this.className=''   onclick=addMonth(this)   title='增加月份'>></td>");  
    document.write("   <td   width=12%   onmouseover=this.className='ds_border'   onmouseout=this.className=''   onclick=addYear(this)   title='增加年份'>>></td>");  
    document.write("   </tr>");  
    document.write("   </table>");  
    document.write("   <table   cellpadding=0   cellspacing=0   width=140   height=20   onmousedown='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();'   onmouseup='releaseCapture();'   onmousemove='dsMove(this.parentNode)'   style='cursor:move;'>");  
    document.write("   <tr   align=center>");  
    for(i=0;i<7;i++)  
  document.write("   <td>"+week[i]+"</td>");  
    document.write("   </tr>");  
    document.write("   </table>");  
    document.write("   <table   cellpadding=0   cellspacing=2   width=140   bgcolor=#EEEEEE>");  
    for(i=0;i<6;i++)  
    {  
    document.write("   <tr   align=center>");  
  for(j=0;j<7;j++)  
    document.write("   <td   width=10%   height=16   onmouseover=if(this.innerText!=''&&this.className!='ds_border2')this.className='ds_border'   onmouseout=if(this.className!='ds_border2')this.className=''   onclick=getvalue(this,document.all('DS_"+this.inputName+"'))></td>");  
    document.write("   </tr>");  
    }  
    document.write("   </table>");  
    document.write("   <span   style=cursor:hand   onclick=this.parentNode.parentNode.style.display='none'>【关闭】</span>");  
    document.write("   </div>");  
    document.write("</div>");  
    dateShow(document.all("DS_"+this.inputName).nextSibling.nextSibling.childNodes[0].childNodes[2],this.year,this.month)  
  }  
  function   subYear(obj)   //减小年份  
  {  
   
   
    var   myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;  
   
    myObj[0].innerHTML=eval(myObj[0].innerHTML)-1;  
     
    dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))  
  }  
  .....  
   
  </script>  
   
  问下subYear(obj)里的   var   myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;   什么意思   ?  
  真是糊涂了 问题点数:100、回复次数:21Top

1 楼mingxuan3000(铭轩)回复于 2006-03-15 16:58:10 得分 100

父节点的父节点的父节点的第2列的子节点Top

2 楼newredhat(redhat.net)回复于 2006-03-15 17:15:50 得分 0

晕,  
   
  我是问obj.parentNode.parentNode.parentNode.cells[2].childNodes;的parentNode都是代表什么!~  
   
  Top

3 楼clare2003(忘情火)回复于 2006-03-15 17:27:42 得分 0

var   myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;  
  加上alert(obj.ID)Top

4 楼mingxuan3000(铭轩)回复于 2006-03-15 17:29:00 得分 0

<div   style='position:absolute;display:none;text-align:center;width:0px;height:0px;overflow:visible'   onselectstart='return   false;'>");  
    <div   style='position:absolute;left:-60px;top:20px;width:142px;height:165px;background-color:#F6F6F6;border:1px   solid   #245B7D;'   class=ds_font>");  
    <table   cellpadding=0   cellspacing=1   width=140   height=20   bgcolor=#CEDAE7   onmousedown='DS_x=event.x-parentNode.style.pixelLeft;DS_y=event.y-parentNode.style.pixelTop;setCapture();'   onmouseup='releaseCapture();'   onmousemove='dsMove(this.parentNode)'   style='cursor:move;'>");  
    <tr   align=center>");  
    <td   width=12%   onmouseover=this.className='ds_border'   onmouseout=this.className=''   onclick=subYear(this)   title='减小年份'><<</td>");  
    <td   width=12%   onmouseover=this.className='ds_border'   onmouseout=this.className=''   onclick=subMonth(this)   title='减小月份'><</td>");  
    <td   width=52%><b>"+this.year+"</b><b>年</b><b>"+this.month+"</b><b>月</b></td>");  
    <td   width=12%   onmouseover=this.className='ds_border'   onmouseout=this.className=''   onclick=addMonth(this)   title='增加月份'>></td>");  
    <td   width=12%   onmouseover=this.className='ds_border'   onmouseout=this.className=''   onclick=addYear(this)   title='增加年份'>>></td>");  
    </tr>");  
    </table>");  
   
   
   
   
  第1个parentNode   is     <tr>  
  第2个parentNode   is     <table>  
  第3个parentNode   is     <div>  
   
  Top

5 楼newredhat(redhat.net)回复于 2006-03-15 20:11:35 得分 0

谢谢  
   
  那.cells[2].childNodes又分别代表什么哪??  
   
  加分至100Top

6 楼mingxuan3000(铭轩)回复于 2006-03-15 21:17:34 得分 0

function   fu1(a){  
        alert(a.id);  
        alert(a.parentNode.parentNode.parentNode.id)  
        //alert(a.parentNode.parentNode.parentNode.cells[1].id)  
        alert(a.parentNode.parentNode.parentNode.cells[1].innerHTML)  
        alert(a.parentNode.parentNode.parentNode.cells[1].childNodes.length)  
        alert(a.parentNode.parentNode.parentNode.cells[1].childNodes[0].innerHTML)  
  }  
   
   
  <div   id="aaa">  
        <table   id="bbb">  
              <tr   id="ccc">  
            <td   id="dddd"   onclick="fu1(this)">1111111111111111  
    </td>  
      <td   id="eeee"><b   id="NN">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff">  
            <td   id="gggg">33333333333  
    </td>  
    <td   id="hhhh"><b   id="MM">月</b>  
    </td>  
        </tr>  
        </table>  
  </div>Top

7 楼mingxuan3000(铭轩)回复于 2006-03-15 21:26:21 得分 0

function   fu1(a){  
        alert(a.id);  
        alert(a.parentNode.id);  
        alert(a.parentNode.parentNode.innerHTML);  
        alert(a.parentNode.parentNode.parentNode.id)  
        //alert(a.parentNode.parentNode.parentNode.cells[1].id)  
        alert(a.parentNode.parentNode.parentNode.cells[1].innerHTML)  
        alert(a.parentNode.parentNode.parentNode.cells[1].childNodes.length)  
        alert(a.parentNode.parentNode.parentNode.cells[1].childNodes[0].innerHTML)  
  }  
   
  上面的回答有点问题  
  第1个parentNode   is     <tr>  
  第2个parentNode   is 自己看  
  第3个parentNode   is     <table>  
   
  cells是列数组  
  cells[1]是第2列  
  cells[1].childNodes   也是数组  
  cells[1].childNodes[0]是<b>Top

8 楼newredhat(redhat.net)回复于 2006-03-15 21:37:17 得分 0

明白了,谢谢mingxuan3000(铭轩)   (   )   信誉:100Top

9 楼newredhat(redhat.net)回复于 2006-03-15 21:38:33 得分 0

我在看看还有没有不明白的,马上结贴Top

10 楼newredhat(redhat.net)回复于 2006-03-15 22:13:53 得分 0

function   subYear(obj)   //减小年份  
  {  
   
   
    var   myObj=obj.parentNode.parentNode.parentNode.cells[2].childNodes;  
   
    myObj[0].innerHTML=eval(myObj[0].innerHTML)-1;  
     
    dateShow(obj.parentNode.parentNode.parentNode.nextSibling.nextSibling,eval(myObj[0].innerHTML),eval(myObj[2].innerHTML))  
  }  
   
   
  最后再问下   obj.parentNode.parentNode.parentNode.nextSibling.nextSibling   代表什么  
  obj.parentNode.parentNode.parentNode应该是div   可是div没有兄弟啊哪来的nextSibling.nextSibling   ??  
  Top

11 楼mingxuan3000(铭轩)回复于 2006-03-15 22:26:10 得分 0

obj.parentNode.parentNode.parentNode应该是table  
  obj.parentNode   is   <tr>Top

12 楼mingxuan3000(铭轩)回复于 2006-03-15 22:27:17 得分 0

alert(a.id);  
        alert(a.parentNode.id);  
        alert(a.parentNode.parentNode.innerHTML);  
        alert(a.parentNode.parentNode.parentNode.id)  
   
  这和他是一样的Top

13 楼mingxuan3000(铭轩)回复于 2006-03-15 22:37:57 得分 0

public   nextSibling   :   XMLNode   [read-only]  
   
  一个   XMLNode   值,它引用父级节点的子级列表中的下一个同级。如果该节点没有下一个同级节点,则此属性为   null。此属性不能用于处理子节点;  
   
   
  <div   id="aaa">  
        <table   id="bbb">  
              <tr   id="ccc">  
            <td   id="dddd"   onclick="fu1(this)">1111111111111111  
    </td>  
      <td   id="eeee"><b   id="NN">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff">  
            <td   id="gggg">33333333333  
    </td>  
    <td   id="hhhh"><b   id="MM">月</b>  
    </td>  
        </tr>  
        </table>  
              <table   id="bbb1">  
              <tr   id="ccc1">  
            <td   id="dddd1"   >5555555  
    </td>  
      <td   id="eeee1"><b   id="NN1">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff1">  
            <td   id="gggg1">666666666  
    </td>  
    <td   id="hhhh1"><b   id="MM1">月</b>  
    </td>  
        </tr>  
        </table>  
          </table   id="bbb2">  
              <tr   id="ccc2">  
            <td   id="dddd2"   >777777777  
    </td>  
      <td   id="eeee2"><b   id="NN2">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff2">  
            <td   id="gggg2">8888888888  
    </td>  
    <td   id="hhhh2"><b   id="MM2">月</b>  
    </td>  
        </tr>  
   
        </table>  
  </div>  
   
  function   fu1(a){  
        alert(a.id);  
        alert(a.parentNode.id);  
        alert(a.parentNode.parentNode.innerHTML);  
        alert(a.parentNode.parentNode.parentNode.id)  
        //alert(a.parentNode.parentNode.parentNode.cells[1].id)  
        alert(a.parentNode.parentNode.parentNode.cells[1].innerHTML)  
        alert(a.parentNode.parentNode.parentNode.cells[1].childNodes.length)  
        alert(a.parentNode.parentNode.parentNode.cells[1].childNodes[0].innerHTML)  
        alert("123")  
        alert(a.parentNode.parentNode.parentNode.nextSibling.innerHTML)  
        alert(a.parentNode.parentNode.parentNode.nextSibling.nextSibling.innerHTML   )  
          alert("123")  
  }  
   
  我再看看后面的那个  
  我也是慢慢试的  nextSibling    用google  
   
   
   
   
   
  Top

14 楼newredhat(redhat.net)回复于 2006-03-15 22:59:55 得分 0

我先顶下Top

15 楼mingxuan3000(铭轩)回复于 2006-03-15 23:02:07 得分 0

<div   id="aaa">  
        <table   id="bbb">  
              <tr   id="ccc">  
            <td   id="dddd"   onclick="fu1(this)">1111111111111111  
    </td>  
      <td   id="eeee"><b   id="NN">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff">  
            <td   id="gggg">33333333333  
    </td>  
    <td   id="hhhh"><b   id="MM">月</b>  
    </td>  
        </tr>  
        </table>  
              <table   id="bbb1">  
              <tr   id="ccc1">  
            <td   id="dddd1"   >5555555  
    </td>  
      <td   id="eeee1"><b   id="NN1">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff1">  
            <td   id="gggg1">666666666  
    </td>  
    <td   id="hhhh1"><b   id="MM1">月</b>  
    </td>  
        </tr>  
        </table>  
          <table   id="bbb2">  
              <tr   id="ccc2">  
            <td   id="dddd2"   >777777777  
    </td>  
      <td   id="eeee2"><b   id="NN2">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff2">  
            <td   id="gggg2">8888888888  
    </td>  
    <td   id="hhhh2"><b   id="MM2">月</b>  
    </td>  
        </tr>  
   
        </table>  
  </div>  
   
   
  第3   个<table></table>写成</table></table>,改下就好了Top

16 楼mingxuan3000(铭轩)回复于 2006-03-15 23:04:10 得分 0

<div   id="aaa">  
        <table   id="bbb">  
              <tr   id="ccc">  
            <td   id="dddd"   onclick="fu1(this)">1111111111111111  
    </td>  
      <td   id="eeee"><b   id="NN">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff">  
            <td   id="gggg">33333333333  
    </td>  
    <td   id="hhhh"><b   id="MM">月</b>  
    </td>  
        </tr>  
        </table>  
              <table   id="bbb1">  
              <tr   id="ccc1">  
            <td   id="dddd1"   >5555555  
    </td>  
      <td   id="eeee1"><b   id="NN1">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff1">  
            <td   id="gggg1">666666666  
    </td>  
    <td   id="hhhh1"><b   id="MM1">月</b>  
    </td>  
        </tr>  
        </table>  
          <table   id="bbb2"     width="400">  
              <tr   id="ccc2">  
            <td   id="dddd2"   >777777777  
    </td>  
      <td   id="eeee2"><b   id="NN2">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff2">  
            <td   id="gggg2">8888888888  
    </td>  
    <td   id="hhhh2"><b   id="MM2">月</b>  
    </td>  
        </tr>  
   
        </table>  
  </div>  
   
   
  function   fu1(a){  
        alert(a.id);  
        alert(a.parentNode.id);  
        alert(a.parentNode.parentNode.innerHTML);  
        alert(a.parentNode.parentNode.parentNode.id)  
        //alert(a.parentNode.parentNode.parentNode.cells[1].id)  
        alert(a.parentNode.parentNode.parentNode.cells[1].innerHTML)  
        alert(a.parentNode.parentNode.parentNode.cells[1].childNodes.length)  
        alert(a.parentNode.parentNode.parentNode.cells[1].childNodes[0].innerHTML)  
        alert("123")  
        alert(a.parentNode.parentNode.parentNode.nextSibling.innerHTML)  
        alert(a.parentNode.parentNode.parentNode.nextSibling.nextSibling.innerHTML   )  
          alert("123")  
  }  
   
  Top

17 楼newredhat(redhat.net)回复于 2006-03-15 23:05:37 得分 0

obj.parentNode.parentNode.parentNode应该是table  
  obj.parentNode   is   <tr>  
   
   
  那obj.parentNode.parentNode   是什么啊,我alert为空Top

18 楼mingxuan3000(铭轩)回复于 2006-03-15 23:09:20 得分 0

我也发现了    
  obj.parentNode.parentNode.parentNode应该是table  
  obj.parentNode   is   <tr>  
  但是obj.parentNode.parentNode不知是什么东西  
   
   
  alert(a.parentNode.parentNode.innerHTML);这个你看了吗?  
  他就是<table></table>里的  
                 <tr   id="ccc">  
            <td   id="dddd"   onclick="fu1(this)">1111111111111111  
    </td>  
      <td   id="eeee"><b   id="NN">年</b>  
    </td>  
        </tr>  
          <tr   id="ffff">  
            <td   id="gggg">33333333333  
    </td>  
    <td   id="hhhh"><b   id="MM">月</b>  
    </td>  
        </tr>  
  这个,是个结构,具体是什么说不出来,理解就行了  
   
  Top

19 楼newredhat(redhat.net)回复于 2006-03-15 23:10:39 得分 0

恩,谢谢,真是热心啊Top

20 楼mingxuan3000(铭轩)回复于 2006-03-15 23:10:54 得分 0

也就是不能把obj.parentNode.parentNode当object来用Top

21 楼mingxuan3000(铭轩)回复于 2006-03-15 23:11:33 得分 0

我也顺便学习Top

相关问题

  • obj.toString() ,Convert.toString(obj),(string) obj的区别?
  • obj问题求救,急!
  • .OBJ是什么文件?
  • Clarify the concept of DLL,API,LIB,COM,OBJ
  • 请教一个obj问题
  • Obj.toString()和String.valueOf(Obj)的区别?
  • children同childNodes的区别
  • 怎样把多个obj文件合并成一个obj文件
  • 请问null!=myobj和myobj!=null有什么不同?
  • cannot open input file ":.obj"怎么回事?

关键词

  • 节点
  • parentnode
  • nextsibling
  • myobj
  • innerhtml
  • alert
  • childnodes
  • subyear
  • cells
  • 月

得分解答快速导航

  • 帖主:newredhat
  • mingxuan3000

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo