87,991
社区成员
发帖
与我相关
我的任务
分享
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="divdemo"></div>
</body>
<script type="text/javascript">
window.onload = function(){
var divtest = document.getElementById("divdemo");
divtest.innerHTML = "<a href='www.baidu.com'></a>";
var demoa = document.getElementsByTagName("a");
alert(demoa[0]);
}
</script>
</html>
应该不是吧,我这样写了一下例子,demoa[0]不是空啊,是这样的:

$.ajax({
type: "POST",
url: url,
async:false,
success: function(data){
// ..
},
error:function(e){alert('后台出错,请查看日志');}
});
/**
* @author tiger
*/
function mmove(){
clearInterval(move);
move = setInterval(moveEvent,30);
}
function moveEvent(){
mleft--;
picList.style.marginLeft = mleft + 'px';
if ( mleft == arr[img.length/2-1]-110){
mleft=0;
}
for(var i=0; i<arr.length;i++){
if(arr[i] == mleft){
clearInterval(move);
setTimeout(mmove, 3000);
m = 110;
}
}
}
if(document.getElementById('piclist')){
$.post("imgLinkaction_getimglink.action",function(date){
var imgstring="";
var div=document.getElementById("piclist");
var imglist=date.split(",");
for(var i=0;i<=(imglist.length-2);i++){
imgstring+="<a href=\"${path}\"><img src=\""+imglist[i]+"></a>";
}
div.innerHTML+=imgstring;
});
var picList = document.getElementById('piclist');
alert(picList.innerHTML);//这个是为空,我不明白是什么原因。
var img = picList.getElementsByTagName("a");
var mleft = 0;
var move = setInterval(moveEvent,30);
for(var i=0;i<img.length;i++ ){
img[i].onmousemove = function(){
clearInterval(move);
}
img[i].onmouseout = function(){
setTimeout(mmove,30);
}
}
var arr = new Array();
for ( var i=0; i<img.length/2; i++){
arr[i] = -110*i;
}
}
/**
* @author tiger
*/
function mmove(){
clearInterval(move);
move = setInterval(moveEvent,30);
}
function moveEvent(){
mleft--;
picList.style.marginLeft = mleft + 'px';
if ( mleft == arr[img.length/2-1]-110){
mleft=0;
}
for(var i=0; i<arr.length;i++){
if(arr[i] == mleft){
clearInterval(move);
setTimeout(mmove, 3000);
m = 110;
}
}
}
if(document.getElementById('piclist')){
//我在这里调用imgLinkaction_getimglink.action从后台返回一个字符串,然后进行分割字符串,
//获得piclistdiv指的就是后面的这个div--var div=document.getElementById("piclist"); 后把分割的字符串加上超链接进行了拼接,然后piclistdiv.innerHTML=拼接的代码。
//如果你从$.post方法体外面在去获得piclistdiv.innerHTML那就是空的
//了。
$.post("imgLinkaction_getimglink.action",function(date){
var imgstring="";
var div=document.getElementById("piclist");
var imglist=date.split(",");
for(var i=0;i<=(imglist.length-2);i++){
imgstring+="<a href=\"${path}\"><img src=\""+imglist[i]+"\"/></a>";
}
div.innerHTML+=imgstring;
});
var picList = document.getElementById('piclist');
var img = picList.getElementsByTagName("a");
var mleft = 0;
var move = setInterval(moveEvent,30);
for(var i=0;i<img.length;i++ ){
img[i].onmousemove = function(){
clearInterval(move);
}
img[i].onmouseout = function(){
setTimeout(mmove,30);
}
}
var arr = new Array();
for ( var i=0; i<img.length/2; i++){
arr[i] = -110*i;
}
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE> New Document </TITLE>
<script type="text/javascript">
window.onload=function(){
var buttons = ['b1','b2','b3']
for(var i=0;i<buttons.length;i++ ){
(function(i){
document.getElementById(buttons[i]).onclick = function(){
alert(i)
}
})(i);
// 尝试着把上面的注释掉,用下面的看看效果
//document.getElementById(buttons[i]).onclick = function(){
// alert(i)
// }
}
}
</script>
</HEAD>
<BODY>
<button id="b1">b1</button>
<button id="b2">b2</button>
<button id="b3">b2</button>
</BODY>
</HTML>
查看原理:JS作用域var divtest=document.getElementById('divdemo');
divtest.innerHTML="<a href=\"#\">aaaaaaaaaaaaa</a><a href=\"#\">bbbbbbbbbbbbbbbb</a><a href=\"#\">ccccccccccccccc</a>";
var img=document.getElementsByTagName('a');
var move = setInterval(function(){
console.log("setInterval....................");
}, 30);
for(var i=0;i<img.length;i++){
img[i].onmousemove = function(){
console.log("onmousemove");
clearInterval(move);
};
img[i].onmouseout = function(){
setTimeout(function(){
console.log("setTimeout");
}, 30);
};
}