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);