Jquery $ that или every (), чтобы указать по одной ссылке за раз

StackOverflow https://stackoverflow.com/questions/1527338

  •  20-09-2019
  •  | 
  •  

Вопрос

Я нахожу 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, остановиться по длине (или если порядок «Используясь, сделайте обратное во время петли) .. Это просто вызывает больше работы, чем необходимо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top