0

我正在使用这个功能来帮助我的网络开发人员在网页中找到一段代码:

function findString (str) {
  var strFound;
  strFound=self.find(str);
  if (strFound && self.getSelection && !self.getSelection().anchorNode ){   
    strFound=self.find(str);
  }
  if (!strFound) {
    strFound=self.find(str,1,1)
    while (self.find(str,1,1)) continue
  }
}

问题是当我输入以下字符串时:

array[1]

它找不到它!这很奇怪,因为我尝试了这个函数,它可以找到任何其他字符串。那么,如何使用此函数查找包含方括号的字符串(如果可能,不使用正则表达式)?

谢谢,

问候

4

2 回答 2

0

调用什么对象函数 find ?那是窗户吗?是的,这究竟是什么功能find?根据文档,它是:

find() 方法在调用时会显示一个查找对话框。这允许用户在调用它的页面中搜索字符串。

这是否意味着未处理 HTML 令牌,而您正在寻找 HTML 令牌数组 [1]?该功能支持哪些浏览器?

实现服务器端搜索的一种方法是读取整个文件(假设您知道文件的位置)并使用字符串函数执行简单的正则表达式search

于 2010-08-30T13:10:32.137 回答
0

我试过你的脚本,里面有一个错误。如果你替换以下

if (strFound && self.getSelection && !self.getSelection().anchorNode )  

通过以下

if (strFound && self.getSelection && !self.getSelection().anchorNode )  {

有用。

在 Firefox 和 Chrome 中,当搜索字符串为 array[1] 时,strFound 为真。在 IE 8 中,脚本不起作用。

编辑:我测试过的代码:

$(document).ready(function() {
    findString("array[1]");
});

function findString (str) {
    var strFound;
    strFound=self.find(str);
    if (strFound && self.getSelection && !self.getSelection().anchorNode )  {
        strFound=self.find(str);
    }
    if (!strFound) {
        strFound=self.find(str,1,1)
        while (self.find(str,1,1)) continue
    }
    alert(strFound);
 }
于 2010-08-30T13:17:38.173 回答