2015-04-05 105 views
0

我需要检查一个页面是否包含一些文本。这里是行不通的代码,但我不能确定原因:Javascript字符串搜索不起作用

var st1 = "Not"; 
    var st2 = "available"; 
    var tosearch = str1.concat(str2); 
    document.write(tosearch); 
    var Availability = "not defined"; 
    if(document.body.innerHTML.toString().indexOf(tosearch) > -1){ 
     Availability = "yes"; 
    } else { 
    Availability = "fdssssssssssssssssssssssss"; 
    } 
+2

什么不工作?你有错误信息吗? – callback 2015-04-05 16:03:23

+1

你有'st1'和'st2',但是你正在使用'str1'和'str2' ...是一个错字? – callback 2015-04-05 16:06:07

+0

因为document.write(tosearch)例如不写东西。 – Brana 2015-04-05 16:06:35

回答

1

它可能不工作,因为你声明st1st2但随后引用它们作为str1str2。更改为...

var str1 = "Not"; 
    var str2 = "available"; 
    var tosearch = str1.concat(str2); 
    // The rest of your code... 

您还正在创建字符串“Notavailable”,这不是你想要的,我想。也许尝试:

var tosearch = str1 + " " + str2; 

你可以做同样的事情,甚至更少的代码如下所示:

if(document.body.innerHTML.toString().indexOf("Not\ available") > -1){ 
    alert("Yes") 
} else { 
    alert("No") 
} 

话虽这么说,这是种神秘的给我你想用这个做什么脚本。 :)

+0

我喜欢这个str1和str2,因为否则脚本会找到它自己(这个词不可用)。这就是为什么我把它分成两部分。 – Brana 2015-04-05 16:08:10

+0

我试图找到页面是否包含“不可用” – Brana 2015-04-05 16:08:39

+1

编辑我的答案以指出您已有的另一个问题。 – brianvaughn 2015-04-05 16:15:07