比如<input type="text" name="o.[p&q]" ID="o.[p&q]">对象名含有特殊字符,正常情况下能用的document.all.name、document.getElementById(id)、document.getElementByName(name),这些都不能用了,求教各位高人,应该怎么调用?

解决方案 »

  1.   

    不明白你的意思啊  我document.getElementById("o.[p&q]").value;这样写可以取到值  你的意思??
      

  2.   


    我测试无效啊!
    你建一个html文件,内容如下
    <form>
    <input type="text" name="o.[p.q]" id="o.[p.q]">
    </form>
    用ie打开它,地址栏输入javascripe:document.getElementById("o.[p&amp;q]").value='1';void 0;试下,看看会不会报错
      

  3.   

    我记得JQuery中是在特殊字符前面加\\
    document.getElementById("o\\.\\[p\\&q\\]").value
      

  4.   


    <form>
    <input type="text" name="o.[p.q]" id="o.[p.q]"><br>
    <input type="button" value="赋值" onclick='document.getElementById("o.[p&q]").value="1";'>
    </form>测试报错,不仅仅是地址栏的问题
      

  5.   

    抱歉,是我写错了
    <form>
    <input type="text" name="o.[p&q]" id="o.[p&q]"><br>
    <input type="button" value="赋值" onclick='document.getElementById("o.[p&q]").value="1";'>
    </form>
    是可以的
      

  6.   

    从本质上说,每个对象的属性都是可以遍历到的,比如一个input的value,name都可以用像数组下标的方式获得,我们通常使用:
    document.getElementById("input1").value,当然也可以遍历document.getElementById("input1"),找到value,而不用“value”这个名字索引。
    每个页面上定义的变量或对象也是window或document的属性,或者是属性的属性,也就是说,我有一个“o.[p&q]”对象,它肯定是window或document的属性,楼主仔细想一想,试一试就会发现,只要他在那里,可以用遍历对象属性的方式获取属相对象也好,用数字下标而不是文字所以也好,肯定是可以获取的到的。对不对?呵呵