各位大神,我讲数据封装到JSON里面,然后通过var jsAllmenu=JSON.stringify(allMenu);,我alert出来的数据多了很多这个:\t\n\n\n的符号呢function subAllOrder(){

var allMenu={
menu:[]
};
var tb=document.getElementById("showOrder");


for(var i=1;i<tb.childNodes.length;i++){
var name=tb.childNodes[i].childNodes[0].innerHTML;
var price=tb.childNodes[i].childNodes[1].innerHTML;
var quantity=tb.childNodes[i].childNodes[2].innerHTML;
$.trim(name);
$.trim(price);
$.trim(quantity);
var aMenu={
   name:name,
  price:price,
 quantity:quantity
};

allMenu.menu.push(aMenu);

var jsAllmenu=JSON.stringify(allMenu);
alert("jsAllmenu:"+jsAllmenu);这是alert的结果:
jsAllmenu{"menu":[{"name":"\n\t\t\t\t\t\t\t\t\t酒水\n\t\t\t\t\t\t\t\t","price":"\n\t\t\t\t\t\t\t\t\t15.00\n\t\t\t\t\t\t\t\t","quantity":"1"}]}这是怎么回事呢,求解
JSON

解决方案 »

  1.   

    这是根据你原来的内容转的
    \n 换行
    \t Tab 
    你改成这样试试 
     
    var aMenu={
        name:$.trim(name),
       price:$.trim(price),
     quantity:$.trim(quantity)
    }; 
      

  2.   

    var name=tb.childNodes[i].childNodes[0].innerText;
    var price=tb.childNodes[i].childNodes[1].innerText;
    var quantity=tb.childNodes[i].childNodes[2].innerText;
      

  3.   

    innerHTML会把隐藏html字符显示出来,可以按照楼上的缓冲innerText试试
      

  4.   


    哈哈,谢谢,发现我马大哈了,我把$.trim(name)写在json外面了,对name其实还是没改变的,你的那种才是正确的,谢谢哈