js循环执行函数

时间:2022-12-30 10:30:30
假设,有这么一个HTML

<a href="javascript:void(0);" onclick="fuck('11111',this);return false;">链接1</a>
<a href="javascript:void(0);" onclick="fuck('22222',this);return false;">链接2</a>
<a href="javascript:void(0);" onclick="fuck('000000',this);return false;">链接3</a>
<a href="javascript:void(0);" onclick="fuck('899',this);return false;">链接4</a>
..........
.......
<a href="javascript:void(0);" onclick="fuck('47858',this);return false;">链接N</a>



可以看到,这个页面里有N个链接,每一个链接的onclick属性都执行了一次APP()函数, 而且每一次fuck函数的第一个参数都是不同的数字 fuck('数字',this)...

那么, 我需要使用JS代码来使所有的fuck函数自动执行,也就是不需要点击链接了......

本人js太烂,所以请教各位高手,望不吝赐教.....请贴出代码,谢谢


16 个解决方案

#1


写错了,上文所指的APP 就是fuck函数,呵呵

#2


可以用Jquery
var length=$('a').length;
for(var i=0;i<length;i++){
    $('a').eq(i).click();
}

#3


引用 2 楼 caochen1985 的回复:
可以用Jquery
var length=$('a').length;
for(var i=0;i<length;i++){
    $('a').eq(i).click();
}
谢谢你的回答,这个是需要调用jquery.js的是吧? 但如果不使用jquery呢?

#4


[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
li{ display:block; background-color:#CCC; margin-top:2px; cursor:pointer;}
</style>
<script>
window.onload = function(){
var lis = document.getElementById("ul").getElementsByTagName("li");
for(var i = 0,j=lis.length;i<j;i++){
lis[i].onclick = (function(n){
return function(){
alert("点击的是第"+ n +"个");
}
})(i)
};
}
</script>
</head>

<body>
<ul id="ul">
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</body>
</html>

[/code]

#5


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
li{ display:block; background-color:#CCC; margin-top:2px; cursor:pointer;}
</style>
<script>
window.onload = function(){
var lis = document.getElementById("ul").getElementsByTagName("li");
for(var i = 0,j=lis.length;i<j;i++){
lis[i].onclick = (function(n){
return function(){
alert("点击的是第"+ n +"个");
}
})(i)
};
}
</script>
</head>

<body>
<ul id="ul">
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</body>
</html>


怎么没发成功?

#6


非jquery版本

var all = document.getElementsByTagName("a");
for (var i = 0; i < all.length; i++)
{
all[i].onclick();
}

#7


汗、
发错了。。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
<style>
#tb th{
background-color:#ccc;
}
#tb .liang{
background-color:yellow;
}
#tb .trOver{
background-color:red;
}
</style>
<script>
window.onload =function (){
function e(a,f){
for(i=0,j=a.length;i<j;i++){
f.call(a[i],i);
}
}
t = document.getElementById("tb"),
r = t.getElementsByTagName("tr"),
c = t.getElementsByTagName("td");
e(c,function(n){
this.onclick = function(){
idx = this.cellIndex;
e(c,function(){
this.style.backgroundColor="";
});
e(r,function(b){
if(b!=0&&idx!=0&&this.cells[idx])this.cells[idx].style.backgroundColor="green"; 
});
}
});
e(r,function(n){
l = this.childNodes.length;
if(n!=0 && l>1 && n%2==0)this.className="liang";
this.onmouseover = function(){
if(n!=0)this.className += " trOver";
};
this.onmouseout = function(){
if(n!=0)this.className = this.className.replace(" trOver","");
};
})
}
</script>
</head>
<body>
<table id="tb" cellspacing="0" cellpadding="0" border="1">
            <tr>
                <td>&nbsp;</td>
                <th>Title</th>
                <th>Title</th>
                <th>Title</th>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
    <tr>
<th colspan="4">分类啊</th>
    </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
    <tr>
<th colspan="4">分类啊</th>
    </tr>           
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>                                                                                                                                                    
        </table>
</body>
</html>
里面的 function e 就是循环函数

#8


6楼正解!如果不用jquery而要实现3楼那个功能就是这样!

#9


引用 6 楼 unicode 的回复:
非jquery版本

JScript code

var all = document.getElementsByTagName("a");
    for (var i = 0; i < all.length; i++)
    {
        all[i].onclick();
    }


非Jquery的这么写就行了

#10


引用 6 楼 unicode 的回复:
非jquery版本
JScript code

var all = document.getElementsByTagName("a");
    for (var i = 0; i < all.length; i++)
    {
        all[i].onclick();
    }


这样写貌似在事件处理函数里不能取到Dom标准的事件对象,

在IE下的事件对象里的值也有偏差,比如一个click事件,window.event对象的clientX属性是鼠标的位置,并不是鼠标点击那个元素的位置。

#11


引用 6 楼 unicode 的回复:
非jquery版本

JScript code

var all = document.getElementsByTagName("a");
    for (var i = 0; i < all.length; i++)
    {
        all[i].onclick();
    }


我也觉得这样可以实现

#12


不过这样写的话会把页面中所有<a>标签下的都取出来 

#13


该回复于2010-08-13 18:01:29被版主删除

#14


引用 6 楼 unicode 的回复:
非jquery版本
JScript code

var all = document.getElementsByTagName("a");
    for (var i = 0; i < all.length; i++)
    {
        all[i].onclick();
    }
谢谢,但是遇到没有 onclick的链接怎么办?

#15


我的直接被无视么?
难道还要我提取出来?
function e(a,f){
    for(i=0,j=a.length;i<j;i++){
        f.call(a[i],i);
    }
}
arr = document.getElementsByTagName("a");
e(arr,function(n){
     this.onclick = (function(i){
          return function(){
              alert("你点击了第" + i +"个链接");
              return false;
          };
     })(n)
});

#16


可以判断下onclick是否有效
if (all[i].onclick)
{
all[i].onclick();
}

#1


写错了,上文所指的APP 就是fuck函数,呵呵

#2


可以用Jquery
var length=$('a').length;
for(var i=0;i<length;i++){
    $('a').eq(i).click();
}

#3


引用 2 楼 caochen1985 的回复:
可以用Jquery
var length=$('a').length;
for(var i=0;i<length;i++){
    $('a').eq(i).click();
}
谢谢你的回答,这个是需要调用jquery.js的是吧? 但如果不使用jquery呢?

#4


[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
li{ display:block; background-color:#CCC; margin-top:2px; cursor:pointer;}
</style>
<script>
window.onload = function(){
var lis = document.getElementById("ul").getElementsByTagName("li");
for(var i = 0,j=lis.length;i<j;i++){
lis[i].onclick = (function(n){
return function(){
alert("点击的是第"+ n +"个");
}
})(i)
};
}
</script>
</head>

<body>
<ul id="ul">
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</body>
</html>

[/code]

#5


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
li{ display:block; background-color:#CCC; margin-top:2px; cursor:pointer;}
</style>
<script>
window.onload = function(){
var lis = document.getElementById("ul").getElementsByTagName("li");
for(var i = 0,j=lis.length;i<j;i++){
lis[i].onclick = (function(n){
return function(){
alert("点击的是第"+ n +"个");
}
})(i)
};
}
</script>
</head>

<body>
<ul id="ul">
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</body>
</html>


怎么没发成功?

#6


非jquery版本

var all = document.getElementsByTagName("a");
for (var i = 0; i < all.length; i++)
{
all[i].onclick();
}

#7


汗、
发错了。。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
<style>
#tb th{
background-color:#ccc;
}
#tb .liang{
background-color:yellow;
}
#tb .trOver{
background-color:red;
}
</style>
<script>
window.onload =function (){
function e(a,f){
for(i=0,j=a.length;i<j;i++){
f.call(a[i],i);
}
}
t = document.getElementById("tb"),
r = t.getElementsByTagName("tr"),
c = t.getElementsByTagName("td");
e(c,function(n){
this.onclick = function(){
idx = this.cellIndex;
e(c,function(){
this.style.backgroundColor="";
});
e(r,function(b){
if(b!=0&&idx!=0&&this.cells[idx])this.cells[idx].style.backgroundColor="green"; 
});
}
});
e(r,function(n){
l = this.childNodes.length;
if(n!=0 && l>1 && n%2==0)this.className="liang";
this.onmouseover = function(){
if(n!=0)this.className += " trOver";
};
this.onmouseout = function(){
if(n!=0)this.className = this.className.replace(" trOver","");
};
})
}
</script>
</head>
<body>
<table id="tb" cellspacing="0" cellpadding="0" border="1">
            <tr>
                <td>&nbsp;</td>
                <th>Title</th>
                <th>Title</th>
                <th>Title</th>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
    <tr>
<th colspan="4">分类啊</th>
    </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
    <tr>
<th colspan="4">分类啊</th>
    </tr>           
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>            
            <tr>
                <th>Title</th>
                <td>Data</td>
                <td>Data</td>
                <td>Data</td>
            </tr>                                                                                                                                                    
        </table>
</body>
</html>
里面的 function e 就是循环函数

#8


6楼正解!如果不用jquery而要实现3楼那个功能就是这样!

#9


引用 6 楼 unicode 的回复:
非jquery版本

JScript code

var all = document.getElementsByTagName("a");
    for (var i = 0; i < all.length; i++)
    {
        all[i].onclick();
    }


非Jquery的这么写就行了

#10


引用 6 楼 unicode 的回复:
非jquery版本
JScript code

var all = document.getElementsByTagName("a");
    for (var i = 0; i < all.length; i++)
    {
        all[i].onclick();
    }


这样写貌似在事件处理函数里不能取到Dom标准的事件对象,

在IE下的事件对象里的值也有偏差,比如一个click事件,window.event对象的clientX属性是鼠标的位置,并不是鼠标点击那个元素的位置。

#11


引用 6 楼 unicode 的回复:
非jquery版本

JScript code

var all = document.getElementsByTagName("a");
    for (var i = 0; i < all.length; i++)
    {
        all[i].onclick();
    }


我也觉得这样可以实现

#12


不过这样写的话会把页面中所有<a>标签下的都取出来 

#13


该回复于2010-08-13 18:01:29被版主删除

#14


引用 6 楼 unicode 的回复:
非jquery版本
JScript code

var all = document.getElementsByTagName("a");
    for (var i = 0; i < all.length; i++)
    {
        all[i].onclick();
    }
谢谢,但是遇到没有 onclick的链接怎么办?

#15


我的直接被无视么?
难道还要我提取出来?
function e(a,f){
    for(i=0,j=a.length;i<j;i++){
        f.call(a[i],i);
    }
}
arr = document.getElementsByTagName("a");
e(arr,function(n){
     this.onclick = (function(i){
          return function(){
              alert("你点击了第" + i +"个链接");
              return false;
          };
     })(n)
});

#16


可以判断下onclick是否有效
if (all[i].onclick)
{
all[i].onclick();
}