Javascript 按ID调用html中的加载元素
可能吗 我有一个HTML文件,其中我通过一个外部的.js文件用以下代码加载元素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"
$(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ñ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;
});
});