Как получить HTML-элемент по имени - PullRequest
2 голосов
/ 04 октября 2010

Есть ли способ в java-скрипте получить только определенное имя вместо использования document.getElementsByName("x");, которые возвращают массив?У меня особая ситуация, когда я не могу использовать идентификатор.Любые предложения, пожалуйста?Спасибо.

Ответы [ 3 ]

11 голосов
/ 04 октября 2010

Просто получите первый элемент:

document.getElementsByName("x")[0];

Или для безопасности:

function getFirstElementByName(element_name) {
    var elements = document.getElementsByName(element_name);
    if (elements.length) {
        return elements[0];
    } else {
        return undefined;
    }
}

(Кстати, getElementsByName возвращает коллекцию, а не массив.)

7 голосов
/ 04 октября 2010

Если вы ищете один элемент, возьмите первый из списка нод, например:

var element = document.getElementsByName("x")[0];

Вы можете проверить это здесь .

0 голосов
/ 04 октября 2010

Или используйте jQuery , так что вам не придется беспокоиться обо всем раздражении браузера.

Вы просто должны сделать это:

$("*[name='x']").first();

Чтобы получить первый элемент с таким именем. Если вы знаете тип элемента, вы можете использовать его вместо «*». jQuery сделает вашу жизнь легче каждый раз!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...