JavaScript循环不起作用
javascript loop not working?
我想知道标签的长度
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function clickme(){
var x=document.getElementsByTagName('a');
for(i=0;i<x.length;i++) {
alert(x[i].length)
}
}
</script>
</head>
<body>
<a href="#" value="1">first</a>
<a href="#" value="2">second</a>
<a href="#" value="3">third</a>
<input type="submit" onclick="clickme()"/>
</body>
由于 value 不是链接的标准属性,因此您可能需要使用 .getAttribute("value")
:
var x = document.getElementsByTagName('a');
for (var i=0; i<x.length;i++){
alert(x[i].getAttribute("value"));
}
在此示例中,x[i]
是一个锚点 DOM 元素对象。它通常没有值属性。但是,如果要使用该属性,可以通过以下方式访问它:
x[i].getAttribute('value');
就个人而言,我会使用 HTML5 数据属性并定义锚点,如下所示:
<a href="#" data-value"=1">one</a>
然后通过以下方式访问该值:
x[i].getAttribute('data-value');
如果使用 HTML5 文档类型,这将有效。
我很
困惑,您已经将原始问题代码示例从:
<script type="text/javascript">
function clickme(){
var x=document.getElementsByTagName('a');
for(i=0;i<x.length;i++) {
alert(x[i].value) //<- "value" not a valid property on the anchor tag
}
}
</script>
自
<script type="text/javascript">
function clickme(){
var x=document.getElementsByTagName('a');
for(i=0;i<x.length;i++) {
alert(x[i].length) //<- "length" not a valid property on the anchor tag
}
}
</script>
如果您只是想确定该锚标签本身的排序编号是多少,则可以只使用"i"(再次 - var it!
<script type="text/javascript">
function clickme(){
var x=document.getElementsByTagName('a');
for( var i=0;i<x.length;i++) {
alert(i);
}
}
</script>
还是我错过了你要问的东西?
jfriend00 做对了。
我想我还要指出,你可能想在你的for之前声明"i",或者与你的for内联。 否则,您将使用全局"i",这可能会在其他地方产生意想不到的后果。
相关文章:
- 我的javascript for循环不起作用
- javascript for循环不起作用
- 循环通过数组的If语句不起作用
- 为什么我的While循环不起作用
- JS(node.js)而循环不起作用
- 来自MDN的循环示例的JavaScript不起作用
- Mustache.js每个循环都不起作用
- for循环中的jquery.load()不起作用
- For循环与数组不起作用
- JavaScript For循环与For in不起作用
- 为什么我所有的循环都不起作用
- JavaScript 数组/循环不起作用
- Javascript if-else循环不起作用
- 循环浏览页面上所有选中的复选框并将id拉入数组不起作用
- JavaScript的循环问题,将值插入数组将不起作用
- Javascript getElementsByName在PHP循环中不起作用
- Javascript循环数组无限不起作用
- 如果循环停止并且不起作用
- if-else循环和jquery在热应用程序或冷应用程序中不起作用
- 循环变量的Javascript不起作用