如何在javascript的for循环中增加相同标签添加onclick事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在javascript的for循环中增加相同标签添加onclick事件相关的知识,希望对你有一定的参考价值。

<ul id="tags">
<li class="selectTag"><a onclick="selectTag('tagContent0',this)" href="javascript:void(0)">The Civil War</a> </li>
<li ><a onclick="selectTag('tagContent1',this)" href="javascript:void(0)">Photo Gallery</a> </li>
<li ><a onclick="selectTag('tagContent2',this)" href="javascript:void(0)">Blog</a> </li>
<li ><a onclick="selectTag('tagContent3',this)" href="javascript:void(0)">Link Library</a> </li>
<li ><a onclick="selectTag('tagContent4',this)" href="javascript:void(0)">Podcast</a> </li>
<li ><a onclick="selectTag('tagContent5',this)" href="javascript:void(0)">Assignment</a></li>
</ul>
<script type="text/javascript">
function selectTag(showContent,selfObj)
var tag = document.getElementsByTagName("li");
var taglength = tag.length;
for(i=1; i<taglength; i++)
tag[i].className = "";

selfObj.parentNode.className = "selectTag";
for(i=0; j=document.getElementById("tagContent"+i); i++)
j.style.display = "none";

document.getElementById(showContent).style.display = "block";

//]]>
</script>
tagContent5 下面的内弄不显示
那位大哥帮帮忙啊

function selectTag(showContent,selfObj)
var tag = document.getElementsByTagName("li");
var taglength = tag.length;
for(var i=0; i<taglength; i++)
tag[i].className = "";

selfObj.parentNode.className = "selectTag";
for(var i=0; j=document.getElementById("tagContent"+i),i<taglength; i++)
j.style.display = "none";

document.getElementById(showContent).style.display = "block";

//]]>
</script>

这个 可以的!
参考技术A function selectTag(showContent,selfObj)
var tag = document.getElementsByTagName("li");
var taglength = tag.length;
for(var i=0; i<taglength; i++)
tag[i].className = "";

selfObj.parentNode.className = "selectTag";
for(var i=0; j=document.getElementById("tagContent"+i),i<taglength; i++)
j.style.display = "none";

document.getElementById(showContent).style.display = "block";

//]]>
</script>
参考技术B 好像是tag.setAttribute("", "");吧 前面是名字 你这是onclick 后面是值
不过我一般都直接加html的。。
参考技术C 利用函数的隐含参数arguments,给函数传参;即:
for(var i=0;i<arguments.length;i++)

var tag = document.getElementsByTagName(arguments[i]);

如何在javascript中返回到for循环的顶部

【中文标题】如何在javascript中返回到for循环的顶部【英文标题】:how to return to top of for loop in javascript 【发布时间】:2011-04-25 00:53:21 【问题描述】:

也许这是一个愚蠢的问题,但有没有办法返回到循环的顶部?

例子:

for(var i = 0; i < 5; i++) 

    if(i == 3)
        return;

    alert(i);

您对其他语言的期望是警报会触发 4 次,如下所示:

警报(0); 警报(1); 警报(2); 警报(4);

但是,当 i 为 3 时,该函数立即退出。什么给出了?

【问题讨论】:

你能举个“其他语言”的例子吗? 您认为哪些语言在循环中间返回会使循环继续?在我知道的任何语言中都不是这样。 C# 不会继续循环 - 一旦您执行 'return' 语句,函数会立即退出,就像在 javascript 中一样。 C# 还为您尝试完成的执行流程使用“继续”语句。 【参考方案1】:

使用continue 而不是return

示例: http://jsfiddle.net/TYLgJ/

for(var i = 0; i < 5; i++) 

    if(i == 3)
        continue;

    alert(i);

如果您想在此时完全停止循环,您可以使用break 而不是returnreturn 语句用于从正在执行的函数中返回一个值。

编辑: @epascarello 以下 cmets 提供的文档链接。

continue 的文档:https://developer.mozilla.org/en/JavaScript/Reference/Statements/continue return 的文档:https://developer.mozilla.org/en/JavaScript/Reference/Statements/return

【讨论】:

继续:developer.mozilla.org/en/JavaScript/Reference/Statements/… 返回:developer.mozilla.org/en/JavaScript/Reference/Statements/return @epascarello - 感谢您添加参考资料。 :o) 我猜我的也被否决了。反对者应该给出一个理由。【参考方案2】:

对于它的价值,你也可以给它们贴上标签:

OUTER_LOOP: for (var o = 0; o < 3; o++) 
  INNER_LOOP: for (var i = 0; i < 3; i++) 
    if (o && i) 
      continue OUTER_LOOP;
    
    console.info(o, ':', i);
  

输出:

0 : 0
0 : 1
0 : 2
1 : 0
2 : 0

【讨论】:

以上是关于如何在javascript的for循环中增加相同标签添加onclick事件的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 JavaScript 的不同 for 循环中声明相同的变量两次吗? [复制]

一个 for 循环可以增加/减少一个以上吗?

javascript while循环正确迭代但具有相同逻辑的for循环不是,在具有整数值和一些空值的数组上

Robot Framework --- FOR循环语句

在多个 for 循环中使用相同的变量名是不好的做法吗?

Javascript中的For循环