Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal .js文件上的Document.getElementById错误_Drupal - Fatal编程技术网

Drupal .js文件上的Document.getElementById错误

Drupal .js文件上的Document.getElementById错误,drupal,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+'/p

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;      
  }   
}
};
Drupal.behaviors.Menu={
附件:函数(){
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';
如果($(“.classname”).length<3{
$(“#hook”)。追加(“”);
$(“#hook”)。追加(“”);
$(“#hook”)。追加(“”);
}
如果(url==baseUrl+'/path'){
document.getElementById(“page1_id”)。href=page1;
document.getElementById(“page2_id”)。href=page2;
document.getElementById(“page2_id”)。href=page3;
}   
}
};
请不要混淆第1页为(var)和第1页为(id)

在上面的函数中,我知道if语句附近有一个错误 如果(url==base…) 这正是它要去的地方。 所以想知道我在哪里犯了错误(错误如下所示)

-->当我打开那个特定的页面时,那些菜单链接被完美地钩住了,当我点击页面1时,它会完美地打开

问题是我先打开的那一页会在接下来的两页中继续出现。 比如我先点击第二页,下一页或者第三页(仍然显示第二页)

页面刷新后

如果我先单击第3页,然后单击第1页或第2页(仍然显示第3页)。 因为document.getElementById只包含上一个URL


非常感谢您的帮助

对于用户来说,我的url就像
http://site.localhost/path/page1
(与第2页和第3页类似)

这需要根据移动到“暂存和生产”时进行更改

下面的代码解决了我的问题

!!警告:注意评论

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;      
  }   
}
};
Drupal.behaviors.Menu={
附件:函数(){
//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';
//修改
var parts=windows.loaction.pathname.split('/');
var query=parts[parts.length-1].split('.html');
//添加了这两个用于拆分url的变量。
如果($(“.classname”).length<3{
$(“#hook”)。追加(“”);
$(“#hook”)。追加(“”);
$(“#hook”)。追加(“”);
}
//如果(url==baseUrl+'/path'){
如果(查询[0]=“路径”| |查询[0]=“第1页”| |查询[0]=“第2页”| |查询[0]=“第3页”){
document.getElementById(“page1_id”)。href=page1;
document.getElementById(“page2_id”)。href=page2;
document.getElementById(“page2_id”)。href=page3;
}   
}
};

下面有点让人困惑,你能用一个最小且可验证的示例来展示你遇到了什么错误吗?通常混合使用JQuery和Javascript是个坏主意,你可以通过执行
$(“#ID”)在查询中按ID选择一个元素
不,不是这样,你只需要记住在将元素处理到jquery之前包装好它们,然后将它们展开作为元素处理。jquery中没有什么神奇的东西会突然让其余的javascript表现出不同。