我不知道如何将输入中的名称添加到标签attr中以及与ID相同的输入。他们在同一个div。你们知道怎么做吗?谢谢。
Jquery的:
$('input[type="text"]').each(function () {
var name = $("input").attr("name");
})
HTML:
<div data-role="fieldcontain">
<label>Name:</label>
<input type="text" name="fname" value="" />
</div>
答案 0 :(得分:3)
只需获取this
输入字段的上一个元素,然后使用this.name
更改其文字:
$('input[type="text"]').each(function() {
$(this).prop('id', this.name) // set 'id' of input field
.prev('label') // get previous sibling element
.attr('for', this.name); // set 'for' attribute
});
答案 1 :(得分:0)
使用$(this)
$('input[type="text"]').each(function () {
var name = $(this).attr('name');
$(this).prev('label').text(name);
})
答案 2 :(得分:0)
使用 .prop() 代替 .attr() ,因为 attr() 给你 元素的值,因为它是在页面加载的html中定义的。它是 始终建议使用 prop() 来获取元素的值 通过javascript / jquery修改,因为它为您提供原始值 元素的当前状态dom元素
$('input[type="text"]').each(function () {
var name = $("input").prop("name");
$(this).prev('label').text(name);
});