2017-08-29 40 views
-1

的document.getElementById錯誤的document.getElementById錯誤

Drupal.behaviors.Menu = { 
attach: function() { 

    var url = window.location.href; 
    var baseUrl = Drupal.settings.baseUrl; 
    var page1 = baseUrl+'/path/page1'; 
    var page2 = baseUrl+'/path/page2'; 
    var page3 = baseUrl+'/path/page3'; 

    if($(".classname").length < 3) {  
    $("#hook").append("<a class='classname' href='' id='page1_id'>page 1</a>"); 
    $("#hook").append("<a class='classname' href='' id='page2_id'>page 2</a>"); 
    $("#hook").append("<a class='classname' href='' id='page3_id'>page 3</a>"); 
    } 
    if(url == baseUrl+'/path') { 

    document.getElementById("page1_id").href = page1; 
    document.getElementById("page2_id").href = page2; 
    document.getElementById("page2_id").href = page3;  
    } 
} 
}; 

請不要第1頁之間的混淆是(VAR)和page1_id是(ID)。

在上面的函數中我知道它是if語句附近的一個錯誤 if(url == base ...) 這是確切的位置,它會出錯。 所以想知道我在哪裏犯了錯誤(錯誤是這樣的下面)

- >當我打開該特定頁面,這些菜單鏈接是完美掛鉤,當我點擊頁面1它完美地打開。

問題是我打開的任何頁面,第一次繼續接下來的兩頁。 就像我點擊第一頁,第二頁或第三頁(仍然顯示第二頁)。頁面刷新後

如果我點擊第3頁第一次,接下來的第1頁第2頁或(它仍然顯示第3頁)。 作爲document.getElementById僅保存前一個URL。

非常感謝。

+1

有點讓人迷惑不已,你可以用一個最小的和可驗證的例子來演示你的錯誤嗎? – jdmdevdotnet

+0

混合使用JQuery和Javascript通常是一個糟糕的主意,您可以通過執行'$(「#id」)' – OneMoreQuestion

+0

通過查詢中的ID來選擇一個元素。不,它不是,您只需要記住在處理元素jquery並解開它們來處理它們作爲元素。 jQuery中沒有任何神奇的東西會突然讓其餘的javascript表現出不同的表現。 – spectras

回答

-1

對於用戶理解我的網址是像 http://site.localhost/path/page1(類似於第二頁和第三頁)

這需要根據當移動到分期和生產

Below code solved my issue

!警告改變留意評論。

Drupal.behaviors.Menu = { 
attach: function() { 

    //var url = window.location.href; 
    var baseUrl = Drupal.settings.baseUrl; 
    var page1 = baseUrl+'/path/page1'; 
    var page2 = baseUrl+'/path/page2'; 
    var page3 = baseUrl+'/path/page3'; 
    //modified 
    var parts = windows.loaction.pathname.split('/'); 
    var query = parts[parts.length-1].split('.html'); 
    //added these two variables for splitting the url. 

    if($(".classname").length < 3) {  
    $("#hook").append("<a class='classname' href='' id='page1_id'>page 1</a>"); 
    $("#hook").append("<a class='classname' href='' id='page2_id'>page 2</a>"); 
    $("#hook").append("<a class='classname' href='' id='page3_id'>page 3</a>"); 
    } 
    //if(url == baseUrl+'/path') { 
    if(query[0] == 'path' || query[0] == 'page1' || query[0] == 'page2' || query[0] == 'page3'){ 

    document.getElementById("page1_id").href = page1; 
    document.getElementById("page2_id").href = page2; 
    document.getElementById("page2_id").href = page3;  
    } 
} 
}; 
相關問題