2011-08-26 130 views

回答

17

您將需要使用JavaScript才能檢查元素是否存在並執行重定向。

假設div有一個id(如DIV ID = 「elementId」),你可以簡單地做:

if (!document.getElementById("elementId")) { 
    window.location.href = "redirectpage.html"; 
} 

如果您正在使用jQuery,下面將是解決辦法:

if ($("#elementId").length === 0){ 
    window.location.href = "redirectpage.html"; 
} 

增加:

如果您需要檢查特定單詞的div的內容(因爲我認爲這是你現在問的)你可以做這個(jQuery):

$("div").each(function() { 
    if ($(this).text().indexOf("copyright") >= 0)) { 
     window.location.href = "redirectpage.html"; 
    } 
});​ 
+0

你可以簡單地使用'location'而不是'window.location'; – arnaud576875

+1

是的,你可以:)但是你可以在同一個作用域內有一個局部變量「location」,它將覆蓋全局位置變量。這就是爲什麼我傾向於使用「窗口」。字首。 –

4

使用jQuery,您可以檢查它像這樣:

如果($( 「#divToCheck」)){// 存在DIV} 其他{// OOPS的div失蹤 }

if ($("#divToCheck").length > 0){ 
    // div exists 
} else { 
    // OOPS div missing 
} 

if ($("#divToCheck")[0]) { 
    // div exists 
} else { 
    // OOPS div missing 
} 
+0

第一個代碼不會總是評估爲真? – arnaud576875

+0

@ arnaud576875:感謝您對它進行標記。更新了答案。 –

2

什麼不同於頁面上其他人的這個特殊的div?

如果它有一個ID,你可以這樣通過document.getElementById:

var div = document.getElementById('the-id-of-the-div'); 
if (!div) { 
    location = '/the-ohter-page.html'; 
} 

您還可以檢查div的內容:

var div = document.getElementById('the-id-of-the-div'); 
var html = div.innerHTML; 

// check that div contains the word "something" 
if (!/something/.test(html)) { 
    location = '/the-ohter-page.html'; 
} 
+0

(注意編者:location **是** window.location) – arnaud576875

1

您可以使用jQuery爲

if ($("#mydiv").length > 0){ 
    // do something here 
} 

在這裏閱讀更多:http://jquery.com/

編輯:修復了下面評論中指出的錯誤。對不起,在忙碌的一天工作,並得到太高興觸發。

+1

'$(「#mydiv」)'總是返回一個對象並且總是評估爲真 – arnaud576875

+0

非常感謝您的回覆,但您知道如何檢查div的內容,例如,如果div包含單詞[版權],它會將訪問者重定向到另一個頁面。謝謝 – shandoosheri

相關問題