2017-07-15 49 views
0

我想基於用戶是否已將類號添加到我通過json數據檢索的數據庫來隱藏元素。如果組件上存在所有類號,我想隱藏它。split()上的TypeError

目前,我不斷收到此錯誤: TypeError: $(...).data(...).split is not a function

export function VisaToggleComponent() { 
let json = { 
    visa_subclass:[462,500,801] 
}; 

let elements = document.querySelectorAll('[data-visa-hide]'); 

console.log(elements); 

$(elements).each(function() { 
    let data = json.visa_subclass, 
     target = $(this).data('visa-hide').split(',').map(Number); 

    console.log(target); 

    for (let i in data) { 
     let val = data[i]; 
     let index = target.indexOf(val); 

     if(index > -1) { 
      $(this).hide(); 
     } 
    } 
}); 
} 
+0

你可以看到'$返回的值(此).data('visa-hide')'? – asiviero

+0

'target'返回的值是'462,500,800' – aszet

+0

作爲整數不是字符串 – aszet

回答

0

splitString對象的一個​​方法。既然你得到了

TypeError: $(...).data(...).split is not a function

這意味着$(this).data('visa-hide')不是一個字符串。

說實話,我沒有試着去了解你的代碼,但是,如果你認爲$(this).data('visa-hide')數據類型,你必須改變$(this).data('visa-hide').split(',')String.prototype.split.call($(this).data('visa-hide'), ',')

+0

'$(this).data('visa-hide')'是一個字符串,但是我用'map() 「如果我沒記錯的話。 – aszet