我正在使用wordpress插件生成具有给定ID名称的输入字段 - fieldname15_6
我在循环中使用代码,因此对于每个帖子,它创建具有相同ID名称的输入字段。当然这是一个问题。我有大约10个具有相同ID名称的输入,我相信它会导致显示问题。无论我的CSS规则如何,字体大小和间距似乎都是随机的。
如何,我需要一种方法来自动将数字1+添加到具有该ID名称的任何创建的输入中。我尝试使用以下代码,但它什么也没做 -
$("input[id^='fieldname15_6']").attr('id', function (i) {
return "fieldname15_6" + ++i;
});
我做错了什么? 感谢。
答案 0 :(得分:2)
试试这个:
var $files = $('body').find("input").attr("id","fieldname15_6");
$files.each(function(index)
{
newIndex = $(this).attr("id") + index;
$(this).attr("class", newIndex );
});
答案 1 :(得分:2)
var i = 1;
$("input#fieldname15_6").each(function(){
$(this).attr('id', function(i) {
return "fieldname15_6" + ++i;
});
});
这会对你有帮助.....
答案 2 :(得分:2)
$("input[id^='fieldname15_6']").each(function(i){
$(this).attr('id', $(this).attr('id') + i);
});
答案 3 :(得分:1)
简单的答案是不要。你应该为这类事物使用类,这就是它们的用途。然后,您可以使用各种方法来定位和使用.eq()
$('#result').html($('.fieldname15_6').eq(2).val()); // eq is 0 based array syntax so 2 will be the 3rd element
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="fieldname15_6" value="first value">
<input type="text" class="fieldname15_6" value="second value">
<input type="text" class="fieldname15_6" value="third value">
<br>
<br>
<br>
<br>
<div id="result"></div>