html div添加元素,用于动态添加的div元素的Html div on load事件

9 个答案:

答案 0 :(得分:9)

onload属性可能不会在

上触发,如果你动态注入它(因为文档可能已经加载了,但它可能仍然可以工作......?) 。但是你可以通过简单地做这样的事情来轮询元素(类似于YUI的onContentAvailable):

// when the document has loaded, start polling

window.onload = function () {

(function () {

var a = document.getElementById('myDiv');

if (a) {

// do something with a, you found the div

}

else {

setTimeout(arguments.callee, 50); // call myself again in 50 msecs

}

}());

};

或者你可以改变标记(我对XSL一无所知)是这样的:

页面早些时候:

function myDivInserted() {

// you're probably safe to use document.getElementById('myDiv') now

}

使用XSL生成的标记:

myDivInserted();

它有点hacky但它​​应该有用。

答案 1 :(得分:7)

每次dom更改时它都会通知您,例如将新div插入目标div或页面时。

我正在复制/粘贴exmple代码

// select the target node

var target = document.querySelector('#some-id');

// create an observer instance

var observer = new MutationObserver(function(mutations) {

mutations.forEach(function(mutation) {

console.log(mutation.type);

});

});

// configuration of the observer:

var config = { attributes: true, childList: true, characterData: true }

// pass in the target node, as well as the observer options

observer.observe(target, config);

// later, you can stop observing

observer.disconnect();

答案 2 :(得分:5)

如果你还没有使用jQuery,没有理由为此开始使用它,你可以写:

window.onload = function () {

fnName();

};

答案 3 :(得分:4)

你可以使用jQuery。以下代码将放在您的

代码中。

$(document).ready(function() {

// Your fnNamt function here

});

修改强>

Kobi提出了一个很好的观点

你也可以写

$(文件)。就绪(函数(){fnNamt();});,

或者更简单地说,

$(document).ready(fnNamt);,甚至

$(fnNamt)

答案 4 :(得分:3)

没有jQuery和普通的JS,例如:

function bodyOnLoad() {

var div = document.getElementById('myDiv');

// something with myDiv

...

}

....

....

答案 5 :(得分:2)

如何使用jQuery / ready(..)呢?

在您的问题中,

$(document).ready(function () {fnNamt();});

答案 6 :(得分:1)

我建议你使用jQuery

步骤:

1.从这里下载Jquery库http://code.jquery.com/jquery-1.5.min.js

2.在您的HTML中,head部分创建一个脚本标记并使用下面的代码。

$(document).ready(function(){

//在这里写你的代码..

});

答案 7 :(得分:1)

我有同样的问题,经过搜索我发现了这个。

在我的情况下,javascript附加索引html的头部来加载选项卡内容html文件,onload我想将该选项卡添加到dom,显示它并制作其他js东西以更改选项卡样式。< / p>

我添加了.onload = function(event) {...}行

var link = document.createElement('link');

link.rel = 'import';

link.href = 'doc.html'

link.onload = function(event) {...};

link.onerror = function(event) {...};

document.head.appendChild(link);

这就像一个魅力,也许它可以帮助其他研究人员:)

答案 8 :(得分:0)

我建议使用cicle-style func:

SwitchFUnc = false;

function FuncName(div_id) {

var doc = window!=nil ? window.document : document;

var DivExists = doc.getElementById(div_id);

if (DivExists) {

//something...

SwitchFunc = true; //stop the cicle

}

}

while (SwitchFunc!=true) {

FuncName('DivId');

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值