是否可以更改它以显示稍后在文档中加载的元素:
function tracksinfox_{$page_trackid}()
{
document.getElementById('tracksinfoxshow_{$page_trackid}').innerHTML = 'get stuff here';
}
在“在这里获取东西”的地方,我想按 id 显示一个 div,但是 div 是稍后在使用 PHP 加载页面时创建的。
是否可以更改它以显示稍后在文档中加载的元素:
function tracksinfox_{$page_trackid}()
{
document.getElementById('tracksinfoxshow_{$page_trackid}').innerHTML = 'get stuff here';
}
在“在这里获取东西”的地方,我想按 id 显示一个 div,但是 div 是稍后在使用 PHP 加载页面时创建的。
使用 jQuery 的 on(),您可以将事件处理程序添加到稍后添加到文档中的元素。http://api.jquery.com/on/
您可以通过 document.onreadystatechange 使函数在文档准备好后执行:
document.onreadystatechange=function() {
if(document.readyState == 'complete'){
tracksinfox_{$page_trackid}();
}
}
或者只是简单地使用 window.onload 事件;
window.onload = tracksinfox_{$page_trackid};
但还有一件事你必须知道,如果你想在文档准备好后执行两个或更多功能,你可以这样做:
run_after_document_ready( tracksinfox_{$page_trackid} );
run_after_document_ready( somethingelse );
run_after_document_ready( somethingelse2 );
function run_after_document_ready( callback ) {
callback_saver = window.onload;
window.onload = function (){
if ( typeof callback_saver == "function" ){
callback_saver();
}
callback();
}
}
或者只使用 jQuery
$(document).ready(tracksinfox_{$page_trackid});
$(document).ready(somethiselse);
$(document).ready(somethiselse2);
注意:window.onload 和document.ready 有一点不同,更多信息,你应该找到关于window.onload、document.onreadystatechange 和jquery 文档准备好的文档。
如何使用 jQuery 并执行以下操作。id="info"
它建立了一个回调方法,当一个新元素添加到 DOM时将调用该方法,然后它添加一个新的 DIV with id="info"
,这会导致回调函数被执行。回调函数注销自身(因此它只会被调用一次),然后update-me
根据新的 DIV 设置 DIV 的文本。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<div id="update-me">I will be updated.</div>
<script language="javascript">
jQuery(function ($) {
$("body").on("DOMNodeInserted", "#info", function(e){
$("body").off("DOMNodeInserted", "#info");
$("#update-me").text( $(e.target).text() );
});
$("body").append("<div id='info'>I have changed.</div>");
});
</script>
</body>
</html>