提示不能使用php页面

时间:2016-11-17 20:40:46

标签: javascript jquery

我尝试了很多不同的版本,仍然无法让它发挥作用。我只是将提示放在那里以确保代码按预期工作,然后目标是将更多项目放入if语句中,但我不能让它最初工作。我已经在js文件中的任何地方放置了确认功能并且它不起作用,但是如果我把它放在带有脚本标签的实际index.php页面上它就可以正常工作了。我不知所措。此代码位于js文件中。

$(document).ready(function() {

$(function (){


    $('#main-menu ul li a').each(function(){
        var path = window.location.href;
        var current = path.substring(path.lastIndexOf('/')+1);
        var url = $(this).attr('href');

        if(url == current){
            $(this).addClass('active');
            confirm(url);
        };


    });         
});

});

ETA:删除了document.write。那只是另一个考验。这是页面上的标记

<div id="main-menu"><ul>
           <li id="home-link"><a href="index.php">Home</a></li>
           <li><a href="about.php">About</a></li>
           <li><a href="process.php">Process</a></li>
           <li><a href="portfolio.php">Portfolio</a></li>
           <li><a href="interiordesignnews.php">Press</a></li>
           <li><a href="http://domain.com/blog/" target="_blank">Blog</a></li>
           <li><a href="contact.php">Contact</a></li>
       </div></center>

1 个答案:

答案 0 :(得分:2)

不应再使用

document.write。它的是JavaScript的弃用功能 bad practice

在您的情况下,由于您在加载DOM之后运行,它将擦除整个页面,然后编写"lorem"。一旦发生这种情况,您的'#main-menu ul li a'元素将不再存在。

另外,$(function(){ });$(document).ready(function(){})的简写,因此没有理由同时使用它们。