Javascript IE8未在jQuery地址内执行子字符串

Javascript IE8未在jQuery地址内执行子字符串,javascript,jquery,internet-explorer-8,jquery-address,Javascript,Jquery,Internet Explorer 8,Jquery Address,jQuery中的地址target[1]可以是Films-by-Name-C7。我使用以下内容提取7 (target[1].lastIndexOf('?') > 0 ?target[1].slice(0, target[1].indexOf("?")).substr((target[1].lastIndexOf('C')+1)):target[1].substr(-(target[1].length-target[1].lastIndexOf('C')-1))) 这适用于除IE8之外的所有

jQuery中的地址
target[1]
可以是
Films-by-Name-C7
。我使用以下内容提取
7

(target[1].lastIndexOf('?') > 0 ?target[1].slice(0, target[1].indexOf("?")).substr((target[1].lastIndexOf('C')+1)):target[1].substr(-(target[1].length-target[1].lastIndexOf('C')-1)))

这适用于除IE8之外的所有浏览器。我不知道为什么会这样。当我在家里试的时候。那么如何从ie8中的
Films-by-Name-C7
中提取
7

IE您的代码的问题是
substr
函数的负值

(target[1].lastIndexOf('?') > 0 ? 
    target[1].slice(0, target[1].indexOf("?")).substr((target[1].lastIndexOf('C')+1)) :
    target[1].substr(-(target[1].length - target[1].lastIndexOf('C')-1)))

根据W3C标准,
substr
的负值在浏览器Films-by-Name-C7中提取
7
<代码>警报((test.lastIndexOf('?')!==未定义的?test.slice(0,test.lastIndexOf(“?”)).substr((test.lastIndexOf('C')+1)):test.substr((test.length test.lastIndexOf('C')-1))只给出任何警告((testvar.lastIndexOf('?'))!=“-1”?testvar.slice(0,testvar.lastIndexOf(“?”)).substr((testvar.lastIndexOf('C')+1)):testvar.substr((testvar.length testvar.lastIndexOf('C')-1))同样的事情。我猜lastIndexOf也不受支持,不知何故,应该可以从
Films-by-Name-C7
中提取
7
,这是最后一件事,让这个网站为IE8工作取决于您的要求。如果字符串始终以数字结尾,并且始终需要最后一位数字,则可以使用substr(目标[1]。长度-1,目标[1]。长度)