页面选择脚本不起作用

时间:2013-06-28 05:34:20

标签: javascript jquery ajax

我的网站不想显示此脚本。 当我把它放在它显示的索引页面上但是当我把它放在其他页面上时没有任何反应

<div id="pages"></div>  
<script>  
    a = location.href;  
    b = a.split('-');  
    c = b.length;  
    d = eval(c - 1);  
    e = b[d];  
    f = a.split('-' + e)[0];  
  
    $('#pages').html('<a id="b" href="' + f + '-' + eval(e - 1) + '">Previous' + 
        '</a><span id="i"> | </span><a id="a" href="' + f + '-' + eval(e * 1 + 1) + '">Next</a>');  
 
    $.ajax({  
        type: 'GET',  
        url: f + '-' + eval(e * 1 + 1),  
        error: function(){
            $('#a, #i').hide();
        }  
    });  

    $.ajax({  
        type: 'GET',  
        url: f + '-' + eval(e - 1),  
        error: function(){
            $('#b, #i').hide();
        }  
    });  
</script>

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

我认为你的代码中最重要的错误是它读起来真是一团糟,所以它是写的。以下是解决您问题的一些建议:

  • 删除所有eval黑客;
  • 为变量命名,以便它们具有某种意义;
  • 更多行并不意味着更好,确保每条指令都是必要的;
  • 将您的脚本放在标题中,以便于阅读;
  • 正如Subhash指出的那样,请确保在元素存在之前不要访问它们。

这应该可以解决您自己的问题。如果没有,请使用更人性化的代码更新您的问题,我将很乐意对其进行调查: - )

  

“调试的难度是首先编写代码的两倍。因此,如果您尽可能巧妙地编写代码,那么根据定义,您不够聪明,无法对其进行调试。“ - Brian Kernighan

答案 1 :(得分:-1)

好吧,只是解决了首先显示链接的问题,我的第一种方法是验证脚本不起作用的页面是否包含必要的元素(在这种情况下,是一个元素与id标签'pages')。

然后我只在文档的其余部分加载完成后才运行脚本。有关详细信息,请参阅this

如果您仍然遇到问题,我接下来要做的就是在Chrome或Firefox中打开它,然后开始使用DOM检查器和Javascript调试器来“查看”代码运行时到底发生了什么。它足够短,不会太繁琐,这在我看来是最好的学习方法之一。

除此之外,我无法提供太多。你没有给我足够的信息,至少知道你可能遇到的问题。如果您可以自己缩小问题范围,我们可以帮助您做得更好。