Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript split()上的TypeError_Javascript_Php_Jquery_Arrays_Json - Fatal编程技术网

Javascript split()上的TypeError

Javascript split()上的TypeError,javascript,php,jquery,arrays,json,Javascript,Php,Jquery,Arrays,Json,我试图根据用户是否已将类号添加到我通过json数据检索的数据库中来隐藏元素。如果组件上存在所有的类号,我想隐藏它 目前,我不断地遇到这样的错误: TypeError:$(…).data(…).split不是函数 export function VisaToggleComponent() { let json = { visa_subclass:[462,500,801] }; let elements = document.querySelectorAll('[data-visa-hi

我试图根据用户是否已将类号添加到我通过json数据检索的数据库中来隐藏元素。如果组件上存在所有的类号,我想隐藏它

目前,我不断地遇到这样的错误:
TypeError:$(…).data(…).split不是函数

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();
        }
    }
});
}

split
String
对象的一种方法。既然你越来越

TypeError:$(…).data(…).split不是函数

它的意思是
$(这个)。数据('visa-hide')
不是字符串


老实说,我没有试着理解你的代码,但是如果你认为
$(this).data('visa-hide')
是类似字符串的数据类型,你必须更改
$(this).data('visa-hide').split(','))
string.prototype.split.call($(this.data('visa-hide'),')),'))

你能看到
$(this.data)返回的值吗('visa-hide')
?为
target
返回的值是
462500800
作为整数而不是字符串
$(this)。数据('visa-hide')
是字符串,但如果我没记错的话,我使用
map()
将其转换为整数。