用javascript改变内容时为什么没有执行且不报错 不明白 LZ 为什么不直接在 head 里引用 .js,非要这么写?!a.js 里是什么?alert(document.getElementById("div1").innerHTML);应改为alert(document.getElementById("div1").innerText); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不一定是a.js文件啊,我说了,即使把<script src="a.js"></script>改成<script>alert("")</script>也一样不能得到执行至于你后面说的那个alert(document.getElementById("div1").innerHTML);不是正式内容所需要的,只是我为了探测此时是否成功的把代码赋值到了div1中而加的调试用的,修改这个没有什么意义 这样子是不会执行的啊,以原为输出放在div里面怎么能执行呢,要明白js的工作原理啊, 无非就是要用js加一个js文件吗看 //引用js/css文件;function include(path,type,title){ var s,i,t; if(arguments.length < 1){ return ; } if(arguments.length == 1){ type = "js"; } switch(type.toLowerCase()){ case "css": t = document.getElementsByTagName("link"); for(i=0;i<t.length;i++){ if(t[i].href && t[i].href.indexOf(path)!=-1){ return; } } s=document.createElement("link"); s.rel="alternate stylesheet"; s.type="text/css"; s.href=path; s.title=title; s.disabled=false; break; case "js": case "javascript": default: t = document.getElementsByTagName("script"); for(i=0;i<t.length;i++){ if(t[i].src && t[i].src.indexOf(path)!=-1){ return; } } s=document.createElement("script"); s.type="text/javascript"; s.src=path; break; } var h=document.getElementsByTagName("head")[0]; h.appendChild(s);} 使用方法<script>include(path,type,title);</script>就行了 <html><head><script language="javascript">function window.onload() { document.getElementById("div1").innerHTML="更改<input type='button' value='click me' onclick=javascript:alert('hi');>之后"; alert(document.getElementById("div1").innerHTML);}</script></head><body><div id="div1">原始内容</div></body></html>这个挺有意思的呵我试了试,直接加入不用触发的任何代码都是不会被执行的,估计的原因是:所有的文档都已加载完毕后,修改其内容,浏览器只会按预定的格式显示出来,而不会重新加载执行 rjzou2006(一个小泡)给了这个强大功能的函数,十分感谢,但是我要做到的仅仅是加载js文件,我仔细看了你给的代码,发现对js的处理仍然是用appendChild方法,我在一些资料上已经见过appendChild来动态加载js文件,但是测试了发现实际上这样也仍然得不到执行各位注意一下:这个加载js文件要处于window.onload()里面,因为我必须要窗口载入完毕后才能加载,不然就会出现找不到对象的错误,因为不允许我的代码添加到body里面以及后面 Ischema(花客)是啊,我也在想这个问题啊但是,那ajax是怎么办到的呢?ajax在页面载入完毕后很久还可以再加载javascript代码其实仔细想想我想实现的效果就有点类似ajax 对于ie,动态加的script要加defer属性<html><head><script language="javascript">function window.onload() { document.getElementById("div1").innerHTML="更改<scr"+"ipt defer >alert();</scr"+"ipt>之后"; alert(document.getElementById("div1").innerHTML);}</script></head><body><div id="div1">原始内容</div></body></html> var jsCode = "更改<scr"+"ipt src=\"a.js\"></scr"+"ipt>之后"; var jsIframe = document.createElement("iframe"); jsIframe.style.display = "none";//把jsIframe隐藏起来 document.body.appendChild(jsIframe); with(window.frames[window.frames.length - 1]){ document.open(); document.write(jsCode); //执行JS代码 document.close();这有篇文章,你看看http://cache.baidu.com/c?word=%2E%3Binnerhtml%2Cscript%2Csrc&url=http%3A//www%2Ewebdn%2Ecom/web%5Ffile/html/H0607240/&p=8b2a950d8f934ead07b38a6f59&user=baidu 很久很久没有解决的问题终于在别人的帖子里看到了答案大家应该好好看看下面这个帖子http://topic.csdn.net/u/20071015/20/1c95342c-3cef-4073-9b61-9706cc1eaa45.html如何给javascript后台创建的元素增加事件 [已结贴] 得不到继承对象的属性 求电子版 html+css+javascript实用教程 上下滚动文字或一组图片的js代码 ! 帮忙解决一下一个bug.. 怎样在弹出的对话框中调用其他的页面或者弹出的对话框中包含表单项? 请教一个javascript操作样式表的问题 在弹出窗口中出现运行期错误,说w为空或者不是对象,怎么解决? 求助!在线等待! 关于一些数组比较,取最大值的问题? 小白求助 JS轮播 提示 undefined javascript日期操作 事件触发问题。。
至于你后面说的那个alert(document.getElementById("div1").innerHTML);不是正式内容所需要的,只是我为了探测此时是否成功的把代码赋值到了div1中而加的调试用的,修改这个没有什么意义
以原为输出
放在div里面怎么能执行呢,
要明白js的工作原理啊,
无非就是要用js加一个js文件吗
看
//引用js/css文件;
function include(path,type,title){
var s,i,t;
if(arguments.length < 1){
return ;
}
if(arguments.length == 1){
type = "js";
}
switch(type.toLowerCase()){
case "css":
t = document.getElementsByTagName("link");
for(i=0;i<t.length;i++){
if(t[i].href && t[i].href.indexOf(path)!=-1){
return;
}
}
s=document.createElement("link");
s.rel="alternate stylesheet";
s.type="text/css";
s.href=path;
s.title=title;
s.disabled=false;
break;
case "js":
case "javascript":
default:
t = document.getElementsByTagName("script");
for(i=0;i<t.length;i++){
if(t[i].src && t[i].src.indexOf(path)!=-1){
return;
}
}
s=document.createElement("script");
s.type="text/javascript";
s.src=path;
break;
}
var h=document.getElementsByTagName("head")[0];
h.appendChild(s);
}
include(path,type,title);
</script>
就行了
<head>
<script language="javascript">
function window.onload() {
document.getElementById("div1").innerHTML="更改<input type='button' value='click me' onclick=javascript:alert('hi');>之后";
alert(document.getElementById("div1").innerHTML);
}
</script>
</head>
<body>
<div id="div1">原始内容</div>
</body>
</html>这个挺有意思的呵
我试了试,直接加入不用触发的任何代码都是不会被执行的,估计的原因是:所有的文档都已加载完毕后,修改其内容,浏览器只会按预定的格式显示出来,而不会重新加载执行
是啊,我也在想这个问题啊
但是,那ajax是怎么办到的呢?ajax在页面载入完毕后很久还可以再加载javascript代码
其实仔细想想我想实现的效果就有点类似ajax
<head>
<script language="javascript">
function window.onload() {
document.getElementById("div1").innerHTML="更改<scr"+"ipt defer >alert();</scr"+"ipt>之后";
alert(document.getElementById("div1").innerHTML);
}
</script>
</head>
<body>
<div id="div1">原始内容</div>
</body>
</html>
var jsIframe = document.createElement("iframe");
jsIframe.style.display = "none";//把jsIframe隐藏起来
document.body.appendChild(jsIframe);
with(window.frames[window.frames.length - 1]){
document.open();
document.write(jsCode); //执行JS代码
document.close();这有篇文章,你看看
http://cache.baidu.com/c?word=%2E%3Binnerhtml%2Cscript%2Csrc&url=http%3A//www%2Ewebdn%2Ecom/web%5Ffile/html/H0607240/&p=8b2a950d8f934ead07b38a6f59&user=baidu
大家应该好好看看下面这个帖子
http://topic.csdn.net/u/20071015/20/1c95342c-3cef-4073-9b61-9706cc1eaa45.html
如何给javascript后台创建的元素增加事件 [已结贴]