Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
IE8中的javascript match()错误_Javascript_Jquery - Fatal编程技术网

IE8中的javascript match()错误

IE8中的javascript match()错误,javascript,jquery,Javascript,Jquery,我很难弄清楚IE8为什么不喜欢这样: //get all checked values from the checkboxes with the option_checkbox class var values = $j('input:checkbox:checked.option_checkbox').map(function () { return this.value; }).get(); if (values.length>0){ for (x in values){

我很难弄清楚IE8为什么不喜欢这样:

//get all checked values from the checkboxes with the option_checkbox class
var values = $j('input:checkbox:checked.option_checkbox').map(function () { return this.value; }).get();
if (values.length>0){
  for (x in values){
    if(values[x].match("v")){ // <--this line causes a javascript error in IE8
      //do something here
    }
  }
}
//使用option\u checkbox类从复选框中获取所有选中值
var values=$j('input:checkbox:checked.option_checkbox').map(函数(){returnthis.value;}).get();
如果(值.长度>0){
对于(x值){
如果(值[x].match(“v”){/请尝试以下操作:

values[x].match(/v/);
请尝试以下方法:

values[x].match(/v/);

使用
indexOf
,它是:


使用
indexOf
,它是:


“有什么建议吗?”-使用标准的
for
循环而不是
for.
中的
for.。迭代数组。您提到不确定
map()
get()
是否返回字符串-在循环中添加
console.log(值[x])
,然后查看得到的结果。(甚至
警报(值[x])
)如果您使用的是jquery,那么最好使用它。不要先创建一个数组,然后使用for.use jquery:
$j('..').filter(函数(){return/^v$/.test(this.value);})。每个(..)
感谢大家提供的提示和帮助。我将其与indexOf组合使用,现在它在旧版IE中也能正常工作:)“有什么建议吗?”-使用标准的
for
循环而不是
for..in
中的
循环来迭代数组。您提到不确定
map()
get()
正在返回字符串-在循环中添加
console.log(值[x])
,看看您得到了什么。(或者甚至
alert(值[x])
)如果您使用的是jquery,您最好使用它。不要先创建一个数组,然后使用for循环它。使用jquery:
$j('..).filter(函数(){return/^v$/.test(this.value);})。每个(..)
感谢大家的提示和帮助。我将其与indexOf组合使用,现在它在旧版IE中也能正常工作:)
!=
在这种情况下是无用的,因为indexOf总是返回一个int。@Rudie你们都在说什么?我的意思是使用
!=
!=
,而不是
…如果我不加选择地使用非类型转换版本让你绊倒了,很抱歉:O@Xander正如你所说,这是可以忽略的faster@Xander你试过ch吗更改执行顺序?一次运行一个,我想你会发现它会对结果产生很大影响。虽然看起来差不多,但还是使用Javascript。@是的,尽管增加重复次数时,
仍然是最快的。
!==
在这种情况下是无用的,因为indexOf总是返回一个int。@Rudie你是怎么想的我说的是?我的意思是使用
!=
!=
,而不是
…如果我不加选择地使用非类型转换版本让你绊倒了,对不起:O@Xander正如你所说,这是可以忽略的faster@Xander你试过改变执行顺序吗?一次运行一个,我想你会发现它对结果影响很大。实际上似乎差不多,使用Javascript。@是的,但是当增加重复次数时,
仍然是最快的。