#javascript
#javascript
Вопрос:
<li class="even">
<a href="www.google.com">Click here </a>
</li>
Я хочу изменить текст тега привязки «Нажмите здесь», используя javascript. Как я могу этого добиться?
Комментарии:
1. Нет JQuery…so какие браузеры вы хотите поддерживать?
2. вы хотите сделать это непосредственно при загрузке страницы? или когда на него нажимают или что-то в этом роде
Ответ №1:
Если вы не ограничены использованием именно такой разметки и вы действительно ищете один из лучших способов сделать это, начните с присвоения уникального идентификатора элементу, который вы собираетесь изменить:
<a href="www.google.com" id="mylink">Click here</a>
document.getElementById("mylink")
предоставит вам этот элемент.
Прежде чем манипулировать элементом на странице, вам необходимо убедиться, что документ загружен и готов к манипулированию. Избегайте использования встроенного JavaScript в атрибутах. Используйте следующий метод, чтобы прикрепить обработчик загрузки документа:
window.onload = function () {
// manipulate the document here
};
Итак, то, что вы ищете, было бы:
window.onload = function () {
document.getElementById("mylink").innerHTML = "Something Else";
};
Но, если вы действительно ищете лучшее решение, не стесняйтесь обращаться к jQuery:
$(function () {
$("#mylink").html("Something Else");
});
Комментарии:
1. Я бы также отметил, что перезаписывать window.onload следует только в том случае, если вы единственный, кто работает на этой веб-странице. Выигрывает тот, кто сделает это последним. Все остальные работы отображаться не будут. На этом сайте есть примеры того, как обойти это. Вам просто нужно выполнить поиск.
2. @John: Хорошо сказано. Еще одна причина использовать jQuery, который автоматически обрабатывает эту проблему за вас.
Ответ №2:
document.getElementsByTagName("a")[0].innerHTML = "Changed click here"; //0 is assuming this is your only link
Было бы лучше использовать идентификатор для доступа к этой конкретной ссылке.
РЕДАКТИРОВАТЬ: Я заметил, что вы хотите, чтобы это происходило при загрузке страницы:
<body onload="document.getElementsbyTagName('a')[0].innerHTML = 'Changed text';">
Или вы могли бы поместить этот код куда-нибудь в функцию и вызвать функцию вместо этого.
Ответ №3:
<body onload="document.getElementById('mylink').innerHTML='new text';">
<li class="even">
<a id='mylink' href="www.google.com">Click here </a>
</li>
</body>