<input type="text" value="123" class="" />
    <div onclick="alert(this.previousSibling.value)" >
        <span>Edit</span></div>
----------------------------
点击div取不到123
谢谢

解决方案 »

  1.   

    本帖最后由 net_lover 于 2010-02-22 11:24:13 编辑
      

  2.   

    本帖最后由 net_lover 于 2010-02-22 11:25:46 编辑
      

  3.   

    <input type="text" value="123" class="" /><div onclick="alert(this.previousSibling.value)" ></div> 
    我晕这样就可以了,但好像我用nextSibling的时候没有这个问题啊!!
      

  4.   

    用nextSibling的时候也会存在这样的问题
      

  5.   

    this.previousSibling
    那要如何来写间容呢
    用do while吗?
      

  6.   

    一般这样处理
    <input type="text" value="123" class="" />
    <div onclick="a(this)" >
    <span>Edit </span> </div> 
    <script>
    function a(o)
    {
    o=o.previousSibling
    while(o.nodeType != 1)
    {
    o=o.previousSibling
    }
    alert(o.value)
    }
    </script>
      

  7.   

    如果用while来进行判断的话
    alert(this.previousSibling )
    得到的是:object Text
    那么我想得到为这个的时候再向前找,但如何判断这个对像是object Text呢?
    我用typeof(this.previousSibling)
    得到的是object 而不是 object Text谢谢
      

  8.   

    nodeType 可以判断是什么类型的节点,是text节点还是html元素节点等
      

  9.   

    nodeType 属性
    Element  1
    Attribute  2
    Text          3
    Comment  8
    Document  9
      

  10.   

    节点对应的数字,参考w3c
    http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html
    http://www.w3.org/TR/DOM-Level-2-Core/core.html