<body onload ="BtoS()">
   
   
     <table ID=div1></table>
     <script>
         function BtoS() {
             // var obj = "<font style ='display :none'>" + "aa" + "|</font>" + "bb";
             //或者是 obj="aa|bb";
             var obj = "aa|bb,a|a,b|b,c|cc";
             var arr = obj.split(',');
             var row = 2;
             var col = 2;
             var oTable = document.all.div1;
             var temp = '';
             for (var i = 0; i < row; i++) {
                 var _tr = oTable.insertRow(oTable.rows.length);
                 for (var j = 0; j < col; j++) {
                     var _td = _tr.insertCell(_tr.cells.length);
                     temp = arr[i * col + j];
                     _txt = document.createTextNode(temp);
                     _td.appendChild(_txt);
                 }
             }
         }
    </script>
       <%--现在的问题是:怎样修改JS的方法也可隐藏'|'前面的数据, --%>
    
    
</body>
一个单元格有两个值,其中一个被隐藏了
如上面所说:或都数据要做怎样的修改.功能实现就行

解决方案 »

  1.   

    这个是C#的,已经实现了
    动态创建元素,并给赋值的问题前提:
     <table ID=div1 runat=server ></table>
    给这个表格添加元素,aa|bb这是一个单元格的内容,bb前的内容隐藏起来
    实现1:protected void Page_Load(object sender, EventArgs e)
            {
                HtmlTableRow tr = new HtmlTableRow();
                HtmlTableCell tc = new HtmlTableCell();
                tc.InnerHtml = "<font style ='display :none'>" + "aa" + "|</font>" + "bb";            tr.Controls.Add(tc);
                div1.Rows.Add(tr);
            }
    上面一个成功.
      

  2.   


    function escapeHTML(str) {
    with (document.createElement("div")) {
    appendChild(document.createTextNode(str));
    return innerHTML;
    }
    }---------------------------------------------------
    _txt = document.createTextNode(temp); 
    _td.appendChild(_txt); 
    改为
    _td.innerHTML = escapeHTML(temp).replace(/[^|]*\|/, "<font style='display:none;'>$&<font>");
      

  3.   

    正则看的不是很懂,但显示是没有值出现,不知你调试过没有
    <body onload ="BtoS()">
       
       
         <table ID=div1></table>
         <script>
             function escapeHTML(str) {
                 with (document.createElement("div")) {
                     appendChild(document.createTextNode(str));
                     return innerHTML;
                 }
             }         function BtoS() {
                 // var obj = "<font style ='display :none'>" + "aa" + "|</font>" + "bb";
                 //或者是 obj="aa|bb";
                 var obj = "aa|bb,a|a,b|b,c|cc";
                 var arr = obj.split(',');
                 var row = 2;
                 var col = 2;
                 var oTable = document.all.div1;
                 var temp = '';
                 for (var i = 0; i < row; i++) {
                     var _tr = oTable.insertRow(oTable.rows.length);
                     for (var j = 0; j < col; j++) {
                         var _td = _tr.insertCell(_tr.cells.length);
                         temp = arr[i * col + j];
    //                     _txt = document.createTextNode(temp);
                         //                     _td.appendChild(_txt);
                         _td.innerHTML = escapeHTML(temp).replace(/[^|]*\|/, "<font style='display:none;'>$&<font>");                 }
                 }
             }
        </script>
      
        
        
    </body>
      

  4.   


    _td.innerHTML = escapeHTML(temp).replace(/[^|]*\|/, "<font style='display:none;'>$&<font>");
    这里写错了后面的 <font>  应该是 </font> 
      

  5.   

      原来是这,算是知道了_td.innerHTML = "<font style ='display :none'>" + "aa" + "|</font>" + "bb";
    正则,我再学下吧