jQuery, эквивалентный "getElementsByName"

Каков правильный синтаксис jquery для вызова getElementsByName?

Вот мой код javascript:

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

с помощью этого возвращается другое значение:

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

заранее спасибо

Ответ 1

Используйте кавычки вокруг селектора атрибутов:

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

Если вам нужно использовать переменную в селекторе, вам нужно использовать конкатенацию строк, чтобы получить значение переменной:

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

Как правило, следует избегать использования атрибута [name] в пользу атрибута [id], поскольку выбор будет проще:

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

Ответ 2

Удалить индекс из первого оператора

Они равны.

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

Ответ 3

"[name=tableName]" - это плохой синтаксис двумя способами. Во-первых, вы должны поместить свое имя в кавычки, поэтому оно должно быть "[name='tableName']" а во-вторых, в первом случае вы используете переменную, а во второй - строку, так что на самом деле это shoudl be "[name='" + tableName + "']"

хороший вызов также на том факте, что у вас есть индекс в getelementsbyname(), если вы выберете элемент [0] тогда он вернет только один элемент.

Ответ 5

если вы хотите получить значение элемента, используйте этот код:

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