我的表单中没有id
或class
。我需要为输入元素插入属性值。
<form>
<tr><td><input type="text" name="x"/></td></tr>
<tr><td><input type="text" name="y"/></td></tr>
<tr><td><input type="text" name="z"/></td></tr>
</form>
这是我试过的jquery:
var x = $('form').find('input').first().val("some_value");
var y = $('form').find('input').second().val("some_value");
var z = $('form').find('input').third().val("some_value");
//还有另一种可能的方法吗?
var x = $("form").find('input[name="x"]').val("some_value");
答案 0 :(得分:2)
您可以使用Attribute Equals Selector [name=”value”]来唯一标识输入
$('input[name=x]').val("some_value1");
$('input[name=y]').val("some_value2");
$('input[name=z]').val("some_value3");
虽然我不推荐您用于为输入赋值的方法,但我建议您使用find()
一次并使用返回的对象集合来指定值。这将减少处理时间并提高性能。
var all = $('form').find('input');
all.eq(0).val("some_value1");
all.eq(1).val("some_value2");
all.eq(2).val("some_value3");
答案 1 :(得分:1)
您可以使用
$("form").find('input[type="text"]]').each(function() {
$(this).attr("your attribute", "your value");
});
答案 2 :(得分:1)
试试这个
var x = $('form input[name="x"]').val("some_value_x");
&#13;
答案 3 :(得分:1)
//因此,您可以在表单中搜索所有输入元素,然后迭代以应用该属性。
var allInputElements = $("form input[type='text']");
$.each(allInputElements,function(index, item){
$(item).attr("disabled","true");
// You can also use item.prop("any property or attribute","value");
});
答案 4 :(得分:1)
如果您按照问题中显示的那样给予他们所有相同的价值,您只需选择所有值:
$("form input").val("some_value");