我已经尝试了很多次,但没有任何效果:
在循环中,我想使用 name
或 id
属性,但它们不起作用。
var tag[] [number]
不起作用。它只打印 undefined
一次。
我猜这是一个外部问题。
<html>
<head>
<script type="text/javascript">
function jat()
{
var cls = document.getElementsByClassName("country_events");
for (n=0; n < 4; n++)
{
var elem = cls[n];
document.write(elem.name);
}
}
function jat2()
{
var cls = document.getElementsByTagName("country");
for (n=0; n < 4; n++)
{
var elem = cls[n];
document.write(elem.name);
}
}
</script>
</head>
<body>
<div class="country_events" name="a"></div>
<div class="country_events" name="b"></div>
<div class="country_events" name="c"></div>
<div class="country_events" name="d"></div>
<div class="country_events" name="e"></div>
<country class="country_events" name="a"></country>
<country class="country_events" name="b"></country>
<country class="country_events" name="c"></country>
<country class="country_events" name="d"></country>
<country class="country_events" name="e"></country>
<input type="button" value="1" onclick="jat()"></button>
<input type="button" value="2" onclick="jat2()"></button>
</body>
</html>
这两个函数都只打印undefined
。
最佳答案
div
元素没有 name
属性,您需要使用 elem.getAttribute('name')
来访问非标准属性.
HTML 根本没有 country
标记,因此它们也没有 name
属性。因此,您再次需要使用 getAttribute
。
一般来说,您不应向 HTML 元素添加自定义属性。名为 data-XXX
的属性是为用户保留的,您应该使用它们。
function jat() {
var cls = document.getElementsByClassName("country_events");
for (n = 0; n < 4; n++) {
var elem = cls[n];
console.log(elem.getAttribute('name'));
}
}
function jat2() {
var cls = document.getElementsByTagName("country");
for (n = 0; n < 4; n++) {
var elem = cls[n];
console.log(elem.getAttribute('name'));
}
}
关于javascript - JS 在循环中使用名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24298049/