2017-08-29 60 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;  
    } 
} 
}; 
相关问题