как получить имя якоря в живой функции - PullRequest
1 голос
/ 27 апреля 2020

Используя более старую версию jQuery, есть код, который мне нужно изменить с помощью функции live. Мне нужно получить якорный текст, чтобы оценить его.

  $('a').live("click", function () {    
        var anchorText = ''; //???
        if(anchorText === "test") {
           this.text = 'updated anchor text';
        }
  });

1 Ответ

1 голос
/ 27 апреля 2020

Вы можете использовать метод text() как получатель и установщик текстового содержимого элемента:

$('a').live("click", function () {  
  var $a = $(this);  
  var anchorText = $a.text().trim();
  if(anchorText === "test") {
    $a.text('updated anchor text');
  }
});

Это можно сократить, используя функцию стрелки:

$('a').live("click", function() {
  $(this).text((i, t) => t.trim() === 'test' ? 'updated anchor text' : t);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<a href="#">test</a><br />
<a href="#">Foo</a>

Следует отметить, что live() - это очень устаревший метод, который был заменен on() довольно давно go. Вам следует по возможности обновить версию jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...