2015-04-05 101 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