Каков правильный синтаксис jquery для вызова getElementsByName
?
Вот мой код javascript:
var test = document.getElementsByName(tableName)[0];
с помощью этого возвращается другое значение:
var test = $("[name=tableName]");
заранее спасибо
Каков правильный синтаксис jquery для вызова getElementsByName
?
Вот мой код 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 be "[name='" + tableName + "']"
хороший вызов также на том факте, что у вас есть индекс в getelementsbyname()
, если вы выберете элемент [0]
тогда он вернет только один элемент.
Интересно знать, что jquery LOT медленнее, чем собственный метод здесь. См. Тест 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);