[native code]
просто означает, что это функция, встроенная в браузер, а не написанная на JavaScript. tags
представляется расширением WebKit для DOM, позволяющим получить список элементов в форме по имени тега. Например, если я запускаю это на странице StackOverflow, я получаю текстовую область ответа:
document.getElementById('submit-button').form.elements.tags("textarea")[0]
Проблема заключается в том, что индекс в коллекции в JavaScript также обращается к любым свойствам объекта (включая методы), поэтому при попытке доступа к названному элементу tags
вместо этого вы получаете метод объекта elements
, который WebKit определяет. К счастью, есть обходной путь; Вы можете позвонить namedItem
в списке элементов, чтобы получить предмет по id
или name
:
var tags = button.form.elements.namedItem("tags").value;
edit : обратите внимание, что, вероятно, лучше использовать namedItem
в целом, даже в других браузерах, в случае, если вам нужно получить элемент с именем item
или length
или что-то в этом роде; в противном случае, если вы используете их как индекс с оператором []
, вы получите встроенный метод item
или length
вместо вашего элемента.