Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 使用jquery加载编辑已复制到html文件中的html div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用jquery加载编辑已复制到html文件中的html div

Javascript 使用jquery加载编辑已复制到html文件中的html div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,所以我有一个标题为Header.html的网站。标题中有三个按钮。我已经用jquery的load将Header.html复制到所有其他页面中。现在我想做的是根据它所在的页面改变其中一个按钮的颜色。但是当我在javascript中使用document.GetElementById时,它找不到我从Header.html复制的按钮的div <div id="Header_Wrapper"> <div id="Header_PageLinksWrapper">

所以我有一个标题为Header.html的网站。标题中有三个按钮。我已经用jquery的load将Header.html复制到所有其他页面中。现在我想做的是根据它所在的页面改变其中一个按钮的颜色。但是当我在javascript中使用document.GetElementById时,它找不到我从Header.html复制的按钮的div

<div id="Header_Wrapper"> 
    <div id="Header_PageLinksWrapper">
        <div class="Header_PageLink">
            <a class="Header_PageLinkText" id="PageLink_Games" href="..\Pages\Games.html">Games</a>    
        </div>
        <div class="Header_PageLink">
            <a class="Header_PageLinkText" id="PageLink_AboutMe" href="..\Pages\AboutMe.html">About Me</a>    
        </div>
        <div class="Header_PageLink">
            <a class="Header_PageLinkText" id="PageLink_CV" href="..\Pages\CV.html">CV</a>    
        </div>
    </div>
</div>
这是Header.html

<div id="Header_Wrapper"> 
    <div id="Header_PageLinksWrapper">
        <div class="Header_PageLink">
            <a class="Header_PageLinkText" id="PageLink_Games" href="..\Pages\Games.html">Games</a>    
        </div>
        <div class="Header_PageLink">
            <a class="Header_PageLinkText" id="PageLink_AboutMe" href="..\Pages\AboutMe.html">About Me</a>    
        </div>
        <div class="Header_PageLink">
            <a class="Header_PageLinkText" id="PageLink_CV" href="..\Pages\CV.html">CV</a>    
        </div>
    </div>
</div>
其中一个页面(如Games.html)


阿达贝尔康姆林克-小游戏
这让我在控制台中找不到元素PageLink_游戏。如果我使用Games.html中的东西,比如Header,我就不会得到那个错误。
有没有其他方法做同样的事情。我知道您可以使用php将文件包含到彼此中,但我没有做到这一点,而且似乎无法在Visual Studio中运行.php文件。

加载函数发出异步请求,因此您的代码尝试在元素出现之前找到它。你需要使用加载函数回调


load函数发出异步请求,所以代码会在元素出现之前尝试查找它。你需要使用加载函数回调


load函数发出异步请求,所以代码会在元素出现之前尝试查找它。你需要使用加载函数回调


load函数发出异步请求,所以代码会在元素出现之前尝试查找它。你需要使用加载函数回调


jQuery.load
已成功回调。使用它来确保代码仅在加载完成后执行

$(document).ready(
    function ()
    {
        $("#Header").load("..\\Templates\\Header.html", null, function() {
            var filePath = window.location.pathname;
            SetPageLinkColours(filePath);
        });
    }
);
另外,您的
setpagelinkcolors
功能也可以通过jQuery进行改进:

function SetPageLinkColours(aPath)
{
    var firstIndex = aPath.lastIndexOf("/");
    var lastIndex = aPath.indexOf(".html");
    var id = "PageLink_" + aPath.slice(firstIndex + 1, lastIndex);

    var divElement = $("#"+id);
    if (!divElement.length)
    {
        console.log("Could not find element " + id);
    }
    else
    {
        divElement.css('color','white');
    }
}

jQuery.load
已成功回调。使用它来确保代码仅在加载完成后执行

$(document).ready(
    function ()
    {
        $("#Header").load("..\\Templates\\Header.html", null, function() {
            var filePath = window.location.pathname;
            SetPageLinkColours(filePath);
        });
    }
);
另外,您的
setpagelinkcolors
功能也可以通过jQuery进行改进:

function SetPageLinkColours(aPath)
{
    var firstIndex = aPath.lastIndexOf("/");
    var lastIndex = aPath.indexOf(".html");
    var id = "PageLink_" + aPath.slice(firstIndex + 1, lastIndex);

    var divElement = $("#"+id);
    if (!divElement.length)
    {
        console.log("Could not find element " + id);
    }
    else
    {
        divElement.css('color','white');
    }
}

jQuery.load
已成功回调。使用它来确保代码仅在加载完成后执行

$(document).ready(
    function ()
    {
        $("#Header").load("..\\Templates\\Header.html", null, function() {
            var filePath = window.location.pathname;
            SetPageLinkColours(filePath);
        });
    }
);
另外,您的
setpagelinkcolors
功能也可以通过jQuery进行改进:

function SetPageLinkColours(aPath)
{
    var firstIndex = aPath.lastIndexOf("/");
    var lastIndex = aPath.indexOf(".html");
    var id = "PageLink_" + aPath.slice(firstIndex + 1, lastIndex);

    var divElement = $("#"+id);
    if (!divElement.length)
    {
        console.log("Could not find element " + id);
    }
    else
    {
        divElement.css('color','white');
    }
}

jQuery.load
已成功回调。使用它来确保代码仅在加载完成后执行

$(document).ready(
    function ()
    {
        $("#Header").load("..\\Templates\\Header.html", null, function() {
            var filePath = window.location.pathname;
            SetPageLinkColours(filePath);
        });
    }
);
另外,您的
setpagelinkcolors
功能也可以通过jQuery进行改进:

function SetPageLinkColours(aPath)
{
    var firstIndex = aPath.lastIndexOf("/");
    var lastIndex = aPath.indexOf(".html");
    var id = "PageLink_" + aPath.slice(firstIndex + 1, lastIndex);

    var divElement = $("#"+id);
    if (!divElement.length)
    {
        console.log("Could not find element " + id);
    }
    else
    {
        divElement.css('color','white');
    }
}

为什么不使用jQuery?这是文档。getElementsByClassName()?为什么不使用jQuery?这是文档。getElementsByClassName()?为什么不使用jQuery?这是文档。getElementsByClassName()?为什么不使用jQuery?这是文档。getElementsByClassName()??