Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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
javascript不适用于HTML5_Javascript_Css_Html - Fatal编程技术网

javascript不适用于HTML5

javascript不适用于HTML5,javascript,css,html,Javascript,Css,Html,我开始在我的项目中实现一些新的html5特性(标准,没什么特别的)。只有标准的页眉、页脚、旁白等。出于某种原因,我在过去的项目中使用的javascript代码现在无法工作,我无法找出问题所在 我将代码(html/javascript)与我的新项目和过去的项目(javascript正常工作)进行了比较,没有发现任何差异。我唯一能想到的就是html版本的变化 顺便说一下,我试图实现一个脚本,突出显示菜单中的当前链接。它应该使用javascript添加/删除一个“.selected”代码,对菜单中的锚

我开始在我的项目中实现一些新的html5特性(标准,没什么特别的)。只有标准的页眉、页脚、旁白等。出于某种原因,我在过去的项目中使用的javascript代码现在无法工作,我无法找出问题所在

我将代码(html/javascript)与我的新项目和过去的项目(javascript正常工作)进行了比较,没有发现任何差异。我唯一能想到的就是html版本的变化

顺便说一下,我试图实现一个脚本,突出显示菜单中的当前链接。它应该使用javascript添加/删除一个“.selected”代码,对菜单中的锚定标记进行编码,并与当前页面和链接相关

代码如下:

<aside>
        <section>
            <Strong>Quick Links</strong>
                <menu id="side_menu">
                    <ul>
                        <li><a href="application.php">Sign Up</a></li>
                        <li><a href="testimonials.php">Testimonials</a></li>
                        <li><a href="diploma.php">The Process</a></li>
                        <li><a href="diploma.php">Course Listings</a></li>
                        <li><a href="about.php">American High School</a></li>
                     </ul>
                </menu> 

        <script>
            $(document).ready(function() {
                var loc = window.location.href; // The URL of the page we're looking at
                $('#side_menu a').each(function() {
                    if (loc.indexOf(this.href) !== -1) { // If the URL contains the href of the anchor
                            $(this).addClass('selected'); // Mark it as selected
                    }
                });
            });
        </script>

        </section>
</aside> 

  • $(文档).ready(函数(){ var loc=window.location.href;//我们正在查看的页面的URL $('side#u menu a')。每个(函数(){ if(loc.indexOf(this.href)!=-1){//如果URL包含锚的href $(this).addClass('selected');//将其标记为选中 } }); });
    这是指向网站的链接(侧面板)

    在这个问题上,我将不胜感激。我花了好几个小时想弄明白。谢谢你的帮助


    gdinari的一个问题是,您试图在包含原型之前使用原型。将
    js/prototype.js的脚本标记移动到
    js/drop-o-matic.js的脚本标记上方


    如果您使用调试器(Chrome的开发工具、Firefox的Firebug、IE的脚本调试器等等),它应该会告诉您这一点。例如,在本例中,Chrome的开发工具向我展示了
    uncaughttypeerror:Object#,它允许Prototype保留
    $
    符号(您必须在需要jQuery函数的地方使用
    jQuery
    ,或者将jQuery加载函数用作范围函数)。

    感谢您的快速响应!有趣的是,我照你说的做了,结果解决了我遇到的另一个js问题,但是侧菜单高亮显示仍然不起作用。你认为这可能是我在js中使用的参考吗?我先用“侧菜单a”,然后试着用“侧菜单a”,但没用。。。你知道问题出在哪里吗?@gdinari:在我看来,你试图在设置为使用原型的页面/站点上使用jQuery代码,而不包括jQuery。更新了我的答案。好吧,我试着用你提供的代码转换prototype.js,但没有注意到。我想我必须将JQuery.noConflict与我的原始代码一起使用?我不完全确定,javascript/jquery对我来说是新的。我会仔细考虑你的建议,并设法使它奏效。如果你有任何其他建议,请告诉我。非常感谢您的帮助。@gdinari:jQuery->Prototype的翻译中有一个bug(我应该使用
    addClassName
    ,而不是
    addClass
    )。翻译现在可以使用了。我不知道这是否一定是你想要的,但它似乎基本上起作用:在那个例子中,有四个链接,其中两个链接指向同一个页面(一个绝对链接,一个相对链接)。如果它们与页面位置相匹配,则应为灰色背景。对我来说,是的。祝你好运。非常感谢!我查看了过去对我其他问题的一些回答,但无法将逻辑应用于这种情况。但是你提供的链接中的示例帮助很大。我必须读很多关于js的书。再次感谢。您是否同时使用Prototype和jQuery?或者其他js框架?我的客户购买的“准备运行”软件包有这个问题,我必须为jQuery设置noConflict。你可能也是这样。
    $(document).ready(function() {
        var loc = window.location.href; // The URL of the page we're looking at
        $('aside li a').each(function() {
            if (loc.indexOf(this.href) !== -1) { // If the URL contains the href of the anchor
                $(this).addClass('selected'); // Mark it as selected
            }
        });
    });
    
    document.observe("dom:loaded", function() {
        var loc = window.location.href; // The URL of the page we're looking at
        $$('aside li a').each(function(link) {
            if (loc.indexOf(link.href) !== -1) { // If the URL contains the href of the anchor
                link.addClassName('selected'); // Mark it as selected
            }
        });
    });