Javascript JS在循环中使用名称

Javascript JS在循环中使用名称,javascript,for-loop,getelementsbytagname,getelementsbyclassname,Javascript,For Loop,Getelementsbytagname,Getelementsbyclassname,我尝试过很多次,但都没有效果: 在循环中,我想使用名称或id属性,但它们不起作用。 var tag[][number]不起作用。它只打印一次未定义的 我想这是一个外部问题 <html> <head> <script type="text/javascript"> function jat() { var cls = document.getElementsB

我尝试过很多次,但都没有效果:

在循环中,我想使用
名称
id
属性,但它们不起作用。
var tag[][number]
不起作用。它只打印一次未定义的

我想这是一个外部问题

<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>

函数jat()
{
var cls=document.getElementsByClassName(“国家/地区事件”);
对于(n=0;n<4;n++)
{   
var elem=cls[n];
文件名称(要素名称);
}
}
函数jat2()
{
var cls=document.getElementsByTagName(“国家”);
对于(n=0;n<4;n++)
{   
var elem=cls[n];
文件名称(要素名称);
}
}

这两个函数只打印
未定义的

div
元素没有
名称
属性,您需要使用
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'));
    }
}
函数jat(){
var cls=document.getElementsByClassName(“国家/地区事件”);
对于(n=0;n<4;n++){
var elem=cls[n];
log(elem.getAttribute('name'));
}
}
函数jat2(){
var cls=document.getElementsByTagName(“国家”);
对于(n=0;n<4;n++){
var elem=cls[n];
log(elem.getAttribute('name'));
}
}

div标记不能具有name属性,请改用id

 <div class="country_events" id="a"></div>
 <div class="country_events" id="b"></div>
 <div class="country_events" id="c"></div>
 <div class="country_events" id="d"></div>
 <div class="country_events" id="e"></div>

 document.write(elem.id);

为了获取“name”属性,需要使用.getAttribute

function jat()
            {
                var cls = document.getElementsByClassName("country_events"); 

                for (n=0; n < 4; n++) 
                {   
                    var elem = cls[n];
                    alert(elem.getAttribute("name"));
                }
            }
函数jat()
{
var cls=document.getElementsByClassName(“国家/地区事件”);
对于(n=0;n<4;n++)
{   
var elem=cls[n];
警报(elem.getAttribute(“名称”);
}
}

如果您阅读它,它会说JavaScript
element.name
仅适用于以下元素,而不包括
div

<a>, <applet>, <button>, <form>, <frame>, <iframe>, <img>, <input>, <map>, <meta>, <object>, <param>, <select>,<textarea>

因此,我不喜欢本页上的其他答案,它们似乎“过时”,因为我喜欢jquery的功能($(“tag[attribute=value]”),我知道必须有一种方法在纯js中实现这一点。检查一下,它将使您能够通过任何属性值组合进行选择。console.log不起作用,因此更改的document.write和result仅为a。没有更多的名字。只需得到一个名字并停止。这是非常令人印象深刻的信息div没有“名称”你在测试什么浏览器?我是铬。我点击了你的演示链接。它需要什么
name
用于表单元素,它是表单提交时发送到服务器的名称。我也在使用Chrome。你打开Javascript控制台了吗?它工作正常。但编辑警报到document.write它只工作一次。但我已经受够了。
<a>, <applet>, <button>, <form>, <frame>, <iframe>, <img>, <input>, <map>, <meta>, <object>, <param>, <select>,<textarea>
for (var n = 0; n < 4; n++) {