我正在使用此功能帮助我的web开发人员在网页中找到一段代码:
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]
找不到它!这很奇怪,因为我尝试了这个功能,它可以找到任何其他字符串。 那么,我如何使用这个函数来查找包含方括号的字符串(如果可能的话,不使用正则表达式)?
谢谢,
此致
答案 0 :(得分:0)
调用哪个对象函数find?那是一扇窗户吗?是的,函数find
到底是什么?根据文件,它是:
find()方法在调用时显示查找对话框。 这允许用户在调用它的页面中搜索字符串。
这是否意味着HTML令牌未被处理,而您正在寻找HTML令牌数组[1]?哪些浏览器是支持的功能?
实现服务器端搜索的一种方法是读取整个文件(假设您知道文件的位置)并使用字符串函数search
答案 1 :(得分:0)
我试过你的脚本,但它有一个错误。如果您替换以下
if (strFound && self.getSelection && !self.getSelection().anchorNode )
通过以下
if (strFound && self.getSelection && !self.getSelection().anchorNode ) {
它有效。
在Firefox和Chrome中,当搜索的字符串为array [1]时,strFound为true。 在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);
}