[英]How to modify the html output of a dynamically loaded script in javascript?
我正在嘗試從wordpress小部件獲取“激烈辯論”的輸出,並修改返回的html輸出。 雖然是wordpress,但所有小部件正在做的工作就是返回一個腳本標簽。 從我所看到的有關動態生成的html如何通過腳本標記工作的信息來看,例如
<script type='text/javascript' src='http://www.intensedebate.com/widgets/acctComment/12345/5'></script>
他們的沒什么特別的。 它這樣做是為了自稱:
for(var i=0; i<scripts.length; i++)
{
if(scripts[i].src.indexOf('intensedebate.com/widgets/acctComment')>0)
{
if(scripts[i].defer)
{
if (window.addEventListener)
{
window.addEventListener("load", initIDWidget2, false);
}
else if (window.attachEvent)
{
window.attachEvent('onload', initIDWidget2);
}
}
else
{
document.write('<!--OMITTING HUGE HTML/JAVASCRIPT BLOCK-->');
if ( typeof id_recent_comments_loaded == 'function' )
id_recent_comments_loaded();
}
break;
}
}
並且還傳遞它插入變量中的html。 確實
parentObj.insertBefore(theDiv,theObj);
插入html(theDiv是最終的html,theObj是腳本標記。)我完全可以理解它的工作流程。 讓我感到困擾的是如何在加載后更改它,或者如何在顯示之前更改輸出。 我不確定變量是否可以訪問,因為它確實是onLoad。 有什么建議嗎? 我在StackOverflow上沒有看到這個確切的問題,所以我不得不問。
謝謝!
可以使用livequery(http://docs.jquery.com/Plugins/livequery)通過偵聽在父元素中創建的子元素來完成此操作。
<div id="foo"></div>
$("#foo p").livequery(function() {
console.log("added something");
});
$(function() {
$("#foo").append($("<p>lol</p>"));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.