为什么不能从Jquery中的name属性访问元素

时间:2010-07-16 16:01:38

标签: jquery

我们无法从其name属性访问元素的主要原因是什么,而不是可以从id属性访问

<input type="text" name="textname" id="textid" value="">
<input type="button" name ="buttonname" id ="buttonid" value ="button"

$(document).ready(function(){
    $("#buttonid").click(function(){
        $("#textname").val ="text1";//doesnot  work 
        $("#textid").val ="text1";
    });
});

3 个答案:

答案 0 :(得分:4)

# selector选择匹配 ID 的元素,而不是名称。

您可以选择<input>元素名称textname,如下所示:

$('input[name="textname"]')

答案 1 :(得分:1)

您是否查看过具有完整示例API

$('[name="something"]')

表示val,

$('[name="something"]').val('set to this')

如果该元素已经具有唯一ID并且您只是以其为目标,则按名称引用是没有意义的。

答案 2 :(得分:0)

您实际上可以使用此语法。

$("input[name='mycontrolname']")

它不是引用元素的标准方式的原因是标记的name元素不必是唯一的,而ID则不是。

例如,使用单选按钮通常会对它们进行编码(请注意名称属性):

<form name="myform" id="myform">
 <input type="radio" id="myRadio1" name="myradio" value="1">one
 <input type="radio" id="myRadio2" name="myradio" value="2">two
 <input type="radio" id="myRadio3"name="myradio" value="3">three
</form>