В чем разница между getelementsbytagname и getelementsbyname в javascript
Недавно я натолкнулся на эти два метода для поиска элементов dom в презентации douglas crockford, но не мог понять разницу между этими двумя.
document.getElementsByTagName()
document.getElementsByName()
Может кто-нибудь объяснит мне это.
ссылка на видео http://www.youtube.com/watch?v=Fv9qT9joc0M
Ответы
Ответ 1
Предположим, что у вас есть этот HTML-код:
<input name="test" class="cssclassname">
Вы получили его с помощью
document.getElementsByTagName('input')
или
document.getElementsByName('test')
или
document.getElementsByClassName('cssclassname')
Кроме того, вы можете вызвать getElementsByTagName
для элементов, отличных от документа. Например, допустимо следующее:
document.getElementsById('foo').getElementsByTagName('bar')
Но getElementsByName
можно вызывать только на document
.
Примечания:
- JavaScript чувствителен к регистру, вы не можете писать такие функции, как в своем вопросе.
- эти функции не возвращают только элемент, а живой nodeList, поэтому вам придется перебирать результат или принимать первый, если вы уверены, что это хорошо:
document.getElementsByTagName('input')[0]
- MDN - хорошая документация для JavaScript-методов. Вы должны прочитать getElementsByTagName и getElementsByName.
Ответ 2
<div name="alpha"></div>
<div name="beta"></div>
var divs = document.getElementsByTagName("div"); // Selects both divs.
var alpha = document.GetElementsByName("alpha"); // Selects the first div.
var beta = document.GetElementsByName("beta"); // Selects the second div.
Ответ 3
Желаю помочь, пожалуйста, проверьте
<input type="checkbox" name="johnsmith" id="one">
в этом случае вход - имя тега, имя - это имя, id - особый уникальный идентификатор.
Позвольте мне объяснить лучший способ,
"id" - ваша идентификационная карта, есть только один, способный удерживать эту идентификационную карту (id);
"имя" - ваше имя, но в США более одного человека используют это имя, которое как john smith (имя).
"input" - ваша категория (TagName), 4 примера человека.
Надеюсь, ты получишь это сейчас. Удачи.