Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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/74.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 按ID调用html中的加载元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 按ID调用html中的加载元素

Javascript 按ID调用html中的加载元素,javascript,jquery,html,Javascript,Jquery,Html,可能吗 我有一个HTML文件,其中我通过一个外部的.js文件用以下代码加载元素 $(document).ready(function(){ $('#redessociales2').livequery(function() { $("#piedepagina2").load("genericbody.html #piedepagina"); }); }); 其中#piedepagina是: <div id= "piedepagina"

可能吗

我有一个HTML文件,其中我通过一个外部的.js文件用以下代码加载元素

$(document).ready(function(){
        $('#redessociales2').livequery(function() {
          $("#piedepagina2").load("genericbody.html #piedepagina");
        });

});
其中#piedepagina是:

<div id= "piedepagina">
<center>
    <br/>
    <p>
Todos los derechos reservados.
<span id="changestyle">dise&ntilde;o alternativo</span></br>

    </p>
</center>
</div>
}))

这段代码改变了web的样式,如果我将HTML代码直接放在HTML文件中,效果会非常好,但是当我将HTML代码移动到另一个HTML文件(我需要这样做)时,它会崩溃

我想这可能是因为我通过ID调用一个元素,而这个ID并不在原始HTML文件中。 我怎样才能解决它


非常感谢

因为您从外部文件加载html,
$(“#changestyle”)
很可能不会在
$(document).ready()
激发时加载到DOM中,因此不会附加
click()

您使用的是哪个版本的jQuery?我很久没有使用LiveQuery了,但是从v1.7+开始,您应该使用。更改现有的
$(“#changestyle”)。单击()

$("#piedepagina2").on("click", "#changestyle", function(e){
    // run your code here
}

非常感谢你对我的帮助! 我终于找到了正确的代码,我与大家分享:

$(document).ready(function () {

    $("#piedepagina2")
        .load("genericbody.html #piedepagina")
        .delegate("#changestyle", "click", function (e){
    var estilo1="../css/post.css"
    var estilo2="../css/post2.css"

    if($("#linkestilo").attr("href")==estilo1){
        $("#linkestilo").attr("href", estilo2);
        $.cookie("css", "2", {expires: 365, path: '/'});
    }

    else{
        $("#linkestilo").attr("href", estilo1);
        $.cookie("css", "1", {expires: 365, path: '/'});
    }

    $('html, body').animate({
       scrollTop: '0px'
   },
   1500);
   return false;
});

});
我希望能帮助有同样问题的人


再见!又来了

你的js在页面底部吗?如果没有,你能试着把你的js放在底部,让我知道结果吗?为什么document.ready需要放在页面的末尾?
$(document).ready(function () {

    $("#piedepagina2")
        .load("genericbody.html #piedepagina")
        .delegate("#changestyle", "click", function (e){
    var estilo1="../css/post.css"
    var estilo2="../css/post2.css"

    if($("#linkestilo").attr("href")==estilo1){
        $("#linkestilo").attr("href", estilo2);
        $.cookie("css", "2", {expires: 365, path: '/'});
    }

    else{
        $("#linkestilo").attr("href", estilo1);
        $.cookie("css", "1", {expires: 365, path: '/'});
    }

    $('html, body').animate({
       scrollTop: '0px'
   },
   1500);
   return false;
});

});