oTr.setAttribute("id","\""+NewID+"\"");
试试吧

解决方案 »

  1.   

    在HTML里, 每个标签的属性值并不强求一定要加上引号, 即你不加引号也不会出错, 你若强制要加上这些引号, 你可以选择带些项功能的编辑器来替你完成, 比如说: visual studio .net 编辑器等工具
      

  2.   

    不明白楼上的意思。请认真看我提出的问题,我这里是在js里生成一个表格的对象,给一个tr加属性,这跟编辑器有什么关系吗?如果是写死的,我完全可以在记事本里加上的。不加引号在html代码里是不会有问题,可是我需要把这段html代码放到xml里使用。没有引号则为不合法的xml。 xxc1981(asf),这种方法当然试过。我要问的是,js里是不是提供强制加上引号的方法,在加属性里。如果没有,大家有没有什么点子可以变相解决问题的呢?
      

  3.   

    强制的话,要么养成习惯,加上引号要么用编辑器有的功能(比如加空格、tab之类的)还可以通过程序自动加上具体问题具体分析了~~~
      

  4.   

    document => objXmldomvar tr = objXmldom.createElement("tr");
    tr.setAttribute("id", NewID);
      

  5.   

    我知道在XML里属性值不加引号是会出错的. 可是在JS里和在HTML里都没有这种强制加引号的东西呀
    最多是在放到XML里去的时候用替换法加些引号上去.
    我建议你用编辑器来完成这项操作是说你平时书写代码不规范, 不加引号, 而有些编辑器会自动地加上这些引号规范你的代码, 我当然是认真地看过你的问题才这样回复你的.
      

  6.   

    不止如此,以前加上引号的属性,在js的object 为table里一过,就没了。还有如
    <INPUT  这样的结点,最末开始加上/>的都自动把/给去掉了。又是不合法的xml,郁闷啊。replace的方法不是没想过,id是动态形成的。用replace替换很麻烦的。而且,这是在htc里形成的,放到外面去用,乱七八糟的,头疼啊。 多谢meizz(梅花雪)的回答。我只能说js不够规范啊。惨
      

  7.   

    那你用代码replace一下也可以,txt.replace('id='+NewId,'id="'+NewId+'"')
      

  8.   

    标准答案已经写了,字符串操作你是弄个没完的,直接在Xmldomdocument里面创建对象
    var objXmldom = new ActiveXObject("MSXML2.DomDocument");
    var tr = objXmldom.createElement("tr");
    tr.setAttribute("id", NewID);
      

  9.   

    这其实是个挺有用的工具,以前把HTML改成XSL的时候,不符合规范的地方都要改,很麻烦的,你要是作出来这样一个转换工具,记得发上来阿
      

  10.   

    多谢fason(Forbes Pu),我的用法,是要在table的某个tr上插入一行新的tr。
    var oTr=tbobject.insertRow(index);请问你用createElement创建一个tr后,能否用appendChild等方法插入到某个索引的位置呢?
      

  11.   

    fason(Forbes Pu)的方法,试一试先,如果这么加能有引号出来,那js就比较好玩了。顺便问一下,在js里操作xml,在插入结点时,有没有insertBefore或者类似的方法存在啊?
      

  12.   

    插入结点用insertBefore,appendChild,这是DOM的标准用法关键不是能不能有引号出来,你自己都搞糊涂了,既然最终目的是要在XML中应用,在里面的对象都建好了还理不理有双引?
      

  13.   

    js在属性id  class 是自动把双引去掉的。其他的属性如style等等,则是有双引的,具体为什么要这样,问号。结贴。多谢帮忙。