.js文件中的Document.getElementById错误

时间:2017-08-29 20:43:26

标签: drupal

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 ...) 这是它出错的确切位置。 所以想知道我犯了哪个错误(错误如下所示)

- &GT;当我打开那个特定页面时,那些菜单链接被完美地挂钩,当我点击页面1时它完全打开。

问题是我打开的页面首先会继续播放接下来的两页。 就像我先点击第2页,下一页1或第3页(仍显示第2页)。

页面刷新后

如果我先点击第3页,下一页1或第2页(仍显示第3页)。 因为document.getElementById仅保留以前的URL。

非常感谢帮助。

1 个答案:

答案 0 :(得分:-1)

对于用户理解,我的网址就像 http://site.localhost/path/page1(类似第2页和第3页)

这需要根据移动到登台和制作

进行更改

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;      
  }   
}
};