是否可以对prepend
中的input
列表中的每个元素使用form
?
下面的前缀仅仅是第一个元素的前缀 - 是否可以为所有项目添加标签:
<script>
$(document).ready(function(){
$("#sg1").each(function(){
$(this).prepend("<label for=\""+$(this).attr("id")+"\">"+$(this).attr("id")+"</label>");
});
});
</script>
<form id="sg1">
<input name="member1" id="member1" value="jack" />
<input name="member2" id="member2" value="carter" />
<input name="member3" id="member3" value="jackson" />
<input name="member4" id="member4" value="tielk" />
</form>
答案 0 :(得分:7)
您需要遍历输入而不是表单,并使用类似.insertBefore()
的内容,如下所示:
$("#sg1 input").each(function(){
$('<label for="'+ this.id +'">' + this.id + '</label>').insertBefore(this);
});
.prepend()
会将一个元素作为第一个子元素插入,但如果您在使用.insertBefore()
之前需要将<input>
放置在传递给{的元素之前,则{{1}}不会生成子元素{3}}:)
答案 1 :(得分:1)
您只需将选择器更改为#sg1 div中的输入元素:
<script>
$(document).ready(function(){
$("#sg1 input").each(function(){
$(this).before(""+$(this).attr("id")+"");
});
});
</script>
<form id="sg1">
<input name="member1" id="member1" value="jack" />
<input name="member2" id="member2" value="carter" />
<input name="member3" id="member3" value="jackson" />
<input name="member4" id="member4" value="tielk" />
</form>