Не работает IndexOf
У меня IE 6.0.
Пишу: s="123" a=s.IndexOf("2") Браузер пишет, что метод или свойство объекта не поддержваются. Почему так? |
Потому что метод или свойство объекта не поддерживается, как это ни странно. В JavaScript все наименования в camelStyle, т.е. первая буква всегда маленькая.
|
Спасибо!
|
indexOf не пашет по той же причине, проверял в IE8, opera, FF
for(var x = 0;x<Stroki.length;x++){ var Search = Stroki[x].substr(0,4); //alert(Search); var s=Stroki_cod[x].indexOf(Search); ...} вот что пишет опера: Uncaught exception: TypeError: Cannot convert 'Stroki_cod[x]' to object в ие6 работает прекрасно:blink: |
Цитата:
|
Цитата:
в общем-то одно и то же причем проблема не в методе, а конкретно в том, что ни один браузер не признает элемент массива объектом. не пашет так же и search Но по идее строка это же экземпляр класса String=>объект...со всеми методами и свойствами |
Цитата:
|
//делаем из текста блока массив строк var p = 0; while(1) { var Stroka = perenos.exec(tekst); if (Stroka==null){break;} Stroki[p]=tekst.substr(0,perenos.lastIndex); tekst=tekst.substr(perenos.lastIndex+1); if (Stroki[p]=="\r"){continue;} p++; } и какого типа содержимое в элементах массива Stroki получится в результате? по-моему все указывает на то, что там строка) з.ы. для Stroki_cod функция такая же |
Приведите минимальный неработающий скрипт, а не куски.
|
ну вот) выдрал тот самый кусок.Полный текст - и хтмл и скрипт. юзаю jQuery
В ие6 срабатывает как по маслу - опера шлет в даль <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Проверка свойств массива</title> <script src="jquery-1.4.2.min.js"></script> </head> <body><PRE><HR color=#cc0033 noShade> бла бла-бла <B>Поб.1 </B> слово текст <B> .</B> <HR color=#cc0033 noShade> 30/08 <B id=r>что-то там</B> <B> хее </B> гг лл <B>авыпрп </B> аывр <B>павпы</B> апрп</PRE> </body> <script type="text/javascript"> $(document).ready(function() { var perenos = /[\r\n\t\v\a]/m; var perenos_html = /[\r||\n||\v]/m; var Stroki = new Array(); var Stroki_cod = new Array(); var i=0; while(1){ $($('pre:contains(Поб.1)')[i]).attr('id','id'); var tekst=$('pre#id').text();//текст блока var cod=$('pre#id').html();//код блока //alert(tekst+"\n-------------\n"+cod); if(!tekst){break;} //делаем из текста блока массив строк var p = 0; while(1) { var Stroka = perenos.exec(tekst); if (Stroka==null){break;} Stroki[p]=tekst.substr(0,perenos.lastIndex); tekst=tekst.substr(perenos.lastIndex+1); if (Stroki[p]=="\r"){continue;} p++; } //делаем из кода блока массив строк var p = 0; while(1) { var Stroka = perenos_html.exec(cod); if (Stroka==null){break;} Stroki_cod[p]=cod.substr(0,perenos_html.lastIndex); cod=cod.substr(perenos_html.lastIndex+1); if(Stroki_cod[p]=='\r'){continue;} if(Stroki_cod[p].length<7){continue;} p++; } //функция сверки строк for (var x=0;x<Stroki.length; x++) { var Search = Stroki[x].substr(0,4); var s=Stroki_cod[x].indexOf(Search, 0); if (s<0){} else {alert(Stroki[x]+"\n ------------------------------------- \n"+Stroki_cod[x]);} } $($('pre:contains(Поб)')[i]).removeAttr('id'); i++; } }); </script> </html> |
Часовой пояс GMT +3, время: 18:58. |