getElementsByName
调用的正确jquery语法是什么?
这是我的javascript代码:
var test = document.getElementsByName(tableName)[0];
使用它返回一个不同的值:
var test = $("[name=tableName]");
提前致谢
答案 0 :(得分:24)
在attribute selector周围使用引号:
$('[name="somenamehere"]');
如果需要在选择器中使用变量,则需要使用字符串连接来获取变量的值:
$('[name="' + tableName + '"]');
通常应该避免使用[name]
属性来支持[id]
属性,因为选择会更简单:
$('#someidhere');
-or-
$('#' + tableID);
答案 1 :(得分:5)
从第一个语句中删除索引
这些是平等的。
var test = document.getElementsByName(tableName);
var test = $("[name=tableName]");
答案 2 :(得分:2)
"[name=tableName]"
在两种方面都是错误的语法。首先,你应该把你的名字放在引号中,所以它应该是"[name='tableName']"
,其次,在第一种情况下,你使用的是变量而在第二种情况下是一个字符串,所以实际上它应该是{{1 }}
如果您在"[name='" + tableName + "']"
电话上有索引这一事实也很好,如果您选择项目getelementsbyname()
,那么它只会返回一个项目。
答案 3 :(得分:1)
有趣的是知道jquery比这里的本机方法慢很多。 请参阅jsPrefs测试:http://jsperf.com/getelementsbyname-vs-jquery-selektor/4
答案 4 :(得分:0)
如果你想获得一个元素值,请使用以下代码:
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);