2013-01-03 129 views
0

我有這樣的事情。並使用它來匹配來自url的字符串並激發jquery以隱藏生成的div。我究竟做錯了什麼?當我傳遞一個警報而不是.hide()它的解僱。用javascript匹配url

if(window.location.href.indexOf("HairTransformation-Press") > -1) { 
     $('.product').hide(); 
    } 

這裏是更新的代碼

$(window).load(function(){ 
    var myString = "HairTransformation-Press"; 

if(window.location.href.toLowerCase().indexOf(myString.toLowerCase()) > -1) { 
     $('.product').hide(); 
     } 
}); 
+2

你應該轉換toLowerCase()兩個字符串,爲了做好對比 – jose

+1

是否有一個類的元素'product'存在嗎? – Blender

+0

如果你的div元素都有一個唯一的ID,你可以這樣做:的document.getElementById style.visibility = '隱藏 ' –

回答

0

試一下這個

var myString = "HairTransformation-Press"; 

if(window.location.href.toLowerCase().indexOf(myString.toLowerCase()) > -1) { 
     $('.product').hide(); 
    } 
0

你有與類名"product"的要素?如果是的話,那麼我認爲你的腳本在實際加載DOM之前正在執行。

+0

回答你的問題是的,我確實有一個叫做產品的類。所以也許我可以運行一個窗口加載函數來避免這種情況 – soum

+0

不工作或者 – soum

+0

你可以發佈新的代碼嗎? – user160820

0

我想匹配的是沒有問題的,因爲正在顯示您的警報。也許你正在使用錯誤的類名(.product可能是你的ID,應該是#product),或者沒有在你的html文件中引用jquery lib之前將引用放在你的.js文件中。

如果你使用Firefox或適用於您的瀏覽器的任何其他開發工具安裝螢火蟲並檢查JavaScript控制檯的錯誤日誌。

+0

我想知道現在這與jquery的版本有什麼關係嗎?我正在使用1.3.2.does必須做任何事情嗎? – soum

+0

我不這麼認爲。確保你在.ready事件(http://api.jquery.com/ready/)中執行你的代碼。看看jquery實際上是在你執行調用時加載的:alert(jQuery);檢查是否加載了jquery。 –

+0

@larry:是的。那是什麼令我困惑。我正在使用.ready()...併發出警報,但不能影響任何div – soum