jQuery相当于“getElementsByName”

getElementsByName调用的正确jquery语法是什么?

这是我的javascript代码:

 var test = document.getElementsByName(tableName)[0]; 

使用它返回一个不同的值:

 var test = $("[name=tableName]"); 

提前致谢

在属性选择器周围使用引号:

 $('[name="somenamehere"]'); 

如果需要在选择器中使用变量,则需要使用字符串连接来获取变量的值:

 $('[name="' + tableName + '"]'); 

通常应该避免使用[name]属性来支持[id]属性,因为选择会更简单:

 $('#someidhere'); -or- $('#' + tableID); 

从第一个语句中删除索引

这些是平等的。

 var test = document.getElementsByName(tableName); var test = $("[name=tableName]"); 

"[name=tableName]"是两种方式的错误语法。 首先,你应该把你的名字放在引号中,所以它应该是"[name='tableName']" ,其次,在第一种情况下,你使用的是变量而在第二种情况下是一个字符串,所以实际上它是shoudl是"[name='" + tableName + "']"

好的调用还有你的getelementsbyname()调用的索引,如果你选择item [0]那么它只会返回一个项目。

有趣的是,知道jquery比这里的本机方法慢很多。 请参阅jsPrefs测试: http ://jsperf.com/getelementsbyname-vs-jquery-selektor/4

如果要获取元素值,请使用以下代码:

 var test1 = $("[name='tableName']").val(); alert(test1); 

这些等于获取特定索引[]的值:

对于相同的索引[0]

 var test2 = $("[name='arryname[]']")[0]; alert(test2.value); var test3 = $("[name='arryname[]']").get([0]); alert(test3.value);