Jquery $ that или every (), чтобы указать по одной ссылке за раз
Вопрос
Я нахожу JQUERY, чтобы узнать, что есть много способов написать одно и то же.
В качестве упражнения я хотел бы взять текст в якорных тегах и внести его в атрибут ссылок Href.
например
<a href="">http://www.something.com</a>
стать
<a href="http://www.something.com">http://www.something.com</a>
Моя первая попытка была
<script type="text/javascript">
$(document).ready(function() {
var text = $('a').text();
$('a').attr( 'href', text );
});
</script>
что явно не работает, так как мне нужно указать, чтобы выполнить это действие для каждой ссылки.
Стоит ли использовать петлю Foreach? Функция. Или $ это нотация? Будут ли они все работать?
Решение
$('a').text()
Вернут комбинацию каждого значения текста в привязке
"mederlogoutaboutfaqQuestionsTagsUsersBadgesUnansweredAsk QuestionJquery $this or each() to specify one link at a timejqueryeachthiseditcloseflagchrisadd commentjqueryeachthisask your own questionjquerythiseachC++/Unix Programmer at Waterfront International Ltdjobs.stackoverflow.comquestion feedaboutfaqblogpodcastprivacy policyadvertising infocontact usfeedback always welcomestackoverflow.comserverfault.comsuperuser.commetahowtogeek.comdoctype.comcc-wikiattribution required "
Поэтому вам следует использовать jQuery.prototype.each, чтобы вы могли сохранить ссылку на текст каждого отдельного якоря:
$('a').each(function() {
var text = $(this).text();
$(this).attr('href', text );
});
Дополнительным преимуществом является то, что каждая функция работает в своем собственном контексте выполнения, каждая переменная, которую вы определяете, каждый объявленный текст является уникальной для этой функции, поэтому есть много Больше контроля внутри.
Что касается сделки с Vanilla Loop - я бы использовал jQuery.prototype.come о нем, потому что это функция более высокого уровня, вам придется назначить переменную длине узла и начать с 0, остановиться по длине (или если порядок «Используясь, сделайте обратное во время петли) .. Это просто вызывает больше работы, чем необходимо.