2017-10-12 22 views
0

我有一個JS對象,如下所示與幾個viariables - 我用這個推動一些數據到我的網站上的元素 - 我不知道是否有可能添加一個類到身體與company變量中的數據名稱相同?因此,如果該變量中的數據會說「蘋果電腦」,是否可以將「applecomputers」或「apple」和「computers」添加爲身體類別?添加基於JS對象變量的主體類

var retailerData = { 
    "del": { 
     "zip": "", 
     "city": "" 
    }, 
    "user": { 
     "country": "", 
     "phone": "0", 
     "nbrOrders": , 
     "isPunchOut": false, 
     "name": "", 
     "company": "name name name", 
     "salesPerson": "", 
     "customerNo": "", 
     "email": "d" 
    }, 
    "order": { 
     "shippingSum": 0.0, 
     "shippingFormatSum": "0:-", 
     "orderno": "0", 
     "orderFormatSum": "595:-", 
     "formatQty": "1 ", 
     "voucher": "", 
     "orderFormatVat": "148,75:-", 
     "currencySymbol": ":-", 
     "currency": "SEK", 
     "orderVat": 148.75, 
     "orderSum": 595.0, 
     "items": [{ 
      "imageURI": "\/imgr\/84c2bfee-ff5b-462c-89d3-dc73b338c890\/70\/70", 
      "qtyAvail": 0, 
      "price": 595.0, 
      "qty": 1, 
      "artno": "U4414E", 
      "vat": 148.75, 
      "formatVat": "148,75:-", 
      "id": "20730", 
      "label": "", 
      "category": "", 
      "formatPrice": "595:-", 
      "manufacturer": "HP" 
     }] 
    } 
} 

回答

0

就這麼簡單

var company = retailerData.user.company; 
company.split(" ").forEach(function(item){ 
    $("body").addClass(item); 
}); 
0

如果你想使用普通的舊香草的JavaScript。以下應該工作。

document.body.className += " " + retailerData.user.company; 

需要空間來確保它是一個新類,而不是更改現有類。

或者,下面更現代的方法(IE10以下不支持)更靈活。

document.body.classList.add(retailerData.user.company); 

你也可以用比特字符串操作相結合這一改變「蘋果電腦」進你說「applecomputers」。

retailerData.user.company.replace(/\s/g, ''); 
0
  1. 類的名稱將是 'namenamename'

    var companyClass = retailerData.user.company.replace(" ", ""); 
    
    $("body").addClass(companyClass); 
    
  2. 類的名稱將是 '名名名'

    var companyClass = retailerData.user.company.replace(" ", "-"); 
    
    $("body").addClass(companyClass);