Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 为什么我会犯错误;未捕获类型错误:st.replace不是函数;_Javascript_Jquery_String_Str Replace - Fatal编程技术网

Javascript 为什么我会犯错误;未捕获类型错误:st.replace不是函数;

Javascript 为什么我会犯错误;未捕获类型错误:st.replace不是函数;,javascript,jquery,string,str-replace,Javascript,Jquery,String,Str Replace,我试图建立一个投资组合。我不是javascript专家,也不确定要删除什么,或者什么是错误。该页面工作正常,但当我尝试进入主页时,退出速度非常慢,控制台抛出错误 “未捕获类型错误:st.replace不是函数” 下面这段代码是有缺陷的,当我点击主页按钮离开“服务”页面时,它就给了我错误信息 如果您对代码片段中的错误有任何指示,我们将不胜感激,谢谢 htmlDoc: function(st) { var n, i = e(),

我试图建立一个投资组合。我不是javascript专家,也不确定要删除什么,或者什么是错误。该页面工作正常,但当我尝试进入主页时,退出速度非常慢,控制台抛出错误

“未捕获类型错误:st.replace不是函数”

下面这段代码是有缺陷的,当我点击主页按钮离开“服务”页面时,它就给了我错误信息

如果您对代码片段中的错误有任何指示,我们将不胜感激,谢谢

            htmlDoc: function(st) {
                var n, i = e(),
                    r = /<(\/?)(html|head|body|title|base|meta)(\s+[^>]*)?>/gi,
                    o = "ss" + Math.round(1e5 * Math.random()),
                    a = st.replace(r, function(t, n, r, a) {
                        var s = {};
                        return n || (e.merge(i, e("<" + r + "/>")), a && e.each(e("<div" + a + "/>")[0].attributes, function(e, t) {
                            s[t.name] = t.value
                        }), i.eq(-1).attr(s)), "<" + n + "div" + (n ? "" : ' id="' + o + (i.length - 1) + '"') + ">"
                    });
                return i.length ? (n || (n = e("<div/>")), n.html(a), e.each(i, function(e) {
                    var t = n.find("#" + o + e).before(i[e]);
                    i.eq(e).html(t.contents()), t.remove()
                }), n.children().unwrap()) : e(t)
            },
htmlDoc:函数(st){
变量n,i=e(),
r=/]*)?>/gi,
o=“ss”+Math.round(1e5*Math.random()),
a=st.replace(r,功能(t,n,r,a){
var s={};
返回n | |(e.merge(i,e(“”),a&&e.each(e(“”)[0]。属性,函数(e,t){
s[t.name]=t.value
}),i.eq(-1).attr(s)),“”
});
返回i.length?(n | |(n=e(“”)),n.html(a),e.each(i,函数(e){
var t=n.find(#“+o+e.),在(i[e])之前;
i、 eq(e).html(t.contents()),t.remove()
}),n.children()展开:e(t)
},
编辑FelixKling

谢谢,@FelixKling Is似乎有几个价值:

st=/-([\da-z])/gi

“st=”:(“+rt+”)((((((((?:\.[^\\\))”)“(((?:\.[^\\”)))\”)(((?:\.[^\()[].[at+)))”,”

“St=[“顶部”、“右侧”、“底部”、“左侧”],”


但最后一个答案是大写字母S。请复制粘贴此答案以更清楚地阅读。如果我需要解释更多内容,请让我知道。

您的问题似乎是
st
不是字符串。请在函数顶部添加验证行,以确保参数为预期类型

if (typeof st !== 'string') {
    // HANDLE IT HERE (throw an error, return false/null, whatever you need
}

嗯,
st
的值是什么?它似乎不是一个字符串。请确保传递一个字符串。也就是说,问题不在于此代码。
console.log(typeof st);
。它不是一个字符串,您的问题更高。这个
htmlDoc
函数是如何调用的?谢谢,@FelixKling.is似乎有几个值:“st=/-([\da-z]))/“gi”和“st=”:(“+rt+”)(:(((((?:\\\\.[^\\\\'])*)“((?:\\\.[^\\\\.[^\\\\\\\\\\\\\\\\\\\\\\\\\\.[^\\\\\\\\\\\\\\\\\\\\\\\.[^\]\\\\\\\\\\\\\\\\.+++)*)”和“st=”[^\\\\\\\\\\\\\\\\\\\\\\\\\\\\)”)”)”和“st=”,”上一行”,“右”,“下一行”,“下一行”,“左下一行”[\\\\\\\\\\\\\\\\\\\。如果我需要进一步解释,请让我知道。@krekettek请不要在注释中添加这些重要的细节,特别是如果它是一段很长的代码。取而代之的是你的问题,并将它们包含在那里!谢谢我照你说的做了,现在日志抛出:alles.js:4180 Uncaught ReferenceError:data未定义a.htmlDoc@alles.js:4180 a.getContentById@alles.js:4205 d@alles.js:4263(匿名函数)@alles.js:4277 I@alles.js:2019rt.event.dispatch@alles.js:1828 g.handle@alles.js:1771 rt.event.trigger@alles.js:1807(匿名函数)@alles.js:2040 rt.extend.each@alles.js:575rt.fn.rt.each@alles.js:478 rt.fn.extend.trigger@alles.js:2039(匿名函数)@alles.js:4296