我有四个没有ID的标签包含在div
中<div class = "comTabs">
<a></a>
<a></a>
<a></a>
<a></a>
</div>
我想使用字母表中字母的for循环按降序命名标签Ids
<div class = "comTabs">
<a id = "A"></a>
<a id = "B"></a>
<a id = "C"></a>
<a id = "D"></a>
</div>
这是我的JS
for (var i = 0; i < ($('.commTabs a').length); i++) {
var $elem = $('.commTabs > a')[i];
这里出错了,所有A标签ID都被定义为“Z”
for (var letter = 65; letter <= 90; letter++) {
$($elem).each(function(i) {
$(this).attr('id', String.fromCharCode(letter));
});
}}
提前感谢!
答案 0 :(得分:3)
在示例代码中将两个循环混合在一起,只需使用一个就可以简化它。我将在这里使用.each
$('.commTabs a').each(function(i) {
$(this).attr('id', String.fromCharCode(65 + i));
});
答案 1 :(得分:2)
您可以使用$('.comTabs a').each(function(i){
直接执行此操作: -
实施例: -
$('.comTabs a').each(function(i) {
$(this).attr('id', String.fromCharCode(65 + i));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = "comTabs">
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</div>
答案 2 :(得分:0)
试试这个:
var i = 65;
$('.commTabs > a').each(function(i) {
$(this).attr('id', String.fromCharCode(letter));
i++;
});
}}