[英]How to get the span element name having the same class name
I want to get the name of the span element by using javascirpt and following is the code. 我想通过使用javascirpt获取span元素的名称,以下是代码。
HTML 的HTML
<span class="myClass" name="q1"></span>
<span class="myClass" name="q1"></span>
<span class="myClass" name="q1"></span>
JS JS
var spans = document.getElementsByClassName("myClass");
j=1;
for(var i=0; i < spans.length; i++){
alert("i value is==>"+i);
spans[i].innerHTML=j;
var obj=spans[i];
alert("name==>"+obj.name);
j++;
}
Please suggest and as name getting undefined. 请提出建议,并且名称变得不确定。
In jQuery it would be: 在jQuery中,它将是:
$('.myClass').each(function(){
console.log( $(this).attr('name') )
})
$('.myClass').each(function(){ console.log( $(this).attr('name') ) })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <span class="myClass" name="q1"></span> <span class="myClass" name="q1"></span> <span class="myClass" name="q1"></span>
If you want to get the name
attribute of an element, you have to use getAttribute
function. 如果要获取元素的
name
属性,则必须使用getAttribute
函数。
Your solution ( ES5 ): 您的解决方案( ES5 ):
var spans = document.getElementsByClassName("myClass"), j = 0; for (var i = 0; i < spans.length; i++) { alert("i value is==>" + spans[i].getAttribute('name')); spans[i].innerHTML = j; var obj = spans[i]; alert("name==>" + obj.getAttribute('name')); j++; }
<span class="myClass" name="q1"></span> <span class="myClass" name="q1"></span> <span class="myClass" name="q1"></span>
ES6 solution. ES6解决方案。
let elems = document.getElementsByClassName('myClass'); Array.from(elems).forEach(v => console.log(v.getAttribute('name')));
<span class="myClass" name="q1"></span> <span class="myClass" name="q1"></span> <span class="myClass" name="q1"></span>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.