Javascript 适用于Firefox,但不适用于IE

Javascript 适用于Firefox,但不适用于IE,javascript,jquery,Javascript,Jquery,我使用以下方法在特定元素中查找字符串,如果它存在,请勾选复选框。这在Firefox上非常有效,但在InternetExplorer(8)上不起作用。我很难找到原因 $.fn.searchString = function(str) { return this.filter('*:contains("' + str + '")'); }; var myID = $('div').searchString(files_array[i].substr(-4)); alert(myID);//

我使用以下方法在特定元素中查找字符串,如果它存在,请勾选复选框。这在Firefox上非常有效,但在InternetExplorer(8)上不起作用。我很难找到原因

$.fn.searchString = function(str) {
   return this.filter('*:contains("' + str + '")');
};

var myID = $('div').searchString(files_array[i].substr(-4));

alert(myID);//[object object]

alert(myID.children());//[object object]

myID.children().attr('checked', true);//does not tick checkbox

alert(myID.children().attr('checked'));//undefined
IE不喜欢children()函数吗


感谢所有人的帮助

有关此错误和解决方案,请参阅。我只是在学习jQuery。我所指的页面中的分辨率要求我们使用
$(“#方法下载”)。get(0)。checked=true

来自MSDN,参考“substr”函数:

评论

如果长度为零或负,则返回空字符串。如果未指定,子字符串将继续到字符串的末尾


您没有从试图设置“myID”的原始代码中得到任何结果。

在黑暗中拍摄,但是您可以尝试
myID.children().attr('checked','checked')?“适用于Firefox,但不适用于IE”?这是第一次!你确定“substr(-4)”正在做你认为它正在做的事情吗?你能提供相关的HTML片段吗?你能附加一些HTML和扩展文件吗。。。或者发布整个页面的感谢,这是不必要的。通过“attr()”设置“checked”肯定有效。我到处都用。你会注意到你提到的bug已经4年了,已经关闭了。不是我的否决票,但我同意。你肯定需要检查你在谷歌发现的任何bug的状态,它的状态和日期使它完全无关。谢谢大家。我还在学习。事实上,我对jQuery的兴趣只不过是投了反对票。感谢大家。对我来说,要补充的是,如果我输入一个负数,substr似乎会返回整个字符串,但Firefox似乎理解我要做的事情,它会返回最后一组字符。我希望我能找到这样的结果:-如果start是负数,Internet Explorer会返回整个字符串。那是错误的!IE应该使用字符串中的最后一个字符。这很有趣-虽然我很鄙视IE,但MSDN文档通常非常准确。不管怎样,当我看到那个“substr(-4)”呼叫时,我的IE蜘蛛感觉开始刺痛。