Задайте значение тега

Как я могу настроить таргетинг на значение тега a в es6? Я не хочу использовать jQuery

function targetEvent(e){
    e.preventDefault();
    console.log(e.target.);
}

<a href="#">test</a>

Я хочу нацелить это "тестовое" слово.

textContent собственности?
CertainPerformance 10.09.2018 11:16

Возможный дубликат Получить значение из тега в jQuery

Miaan 10.09.2018 11:17

Довольно непонятно, о чем вы здесь спрашиваете. Если вы хотите прочитать test из этого тега a, вы можете использовать: $('a').first().text();

Liam 10.09.2018 11:18

что вы подразумеваете под "нацеливанием"? Вы просто имеете в виду получить его ценность? Если да, то см. Комментарий Лиама выше. Если нет, вам придется более четко объяснить, что вы имеете в виду.

ADyson 10.09.2018 11:22
1
4
357
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Прикрепите функцию к событию щелчка элемента. Тогда попробуй

currentTarget.textContent

function targetEvent(e){
  e.preventDefault();
  console.log(e.currentTarget.textContent);
}
<a href="#" onclick="targetEvent(event)">test</a>

ИЛИ: Использование jQuery

$('a').click(function(e){
  e.preventDefault();
  console.log($(this).text())
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#">test</a>

здесь я показал простой пример, чтобы показать значение цели события.

HTML

<a href="#" id="test">test</a>

JS

let test = document.getElementById('test');
test.addEventListener("click",function(e){
   console.log(e.currentTarget.innerHTML);
})

Это зависит от того, какой у вас целевой элемент.

Для типа ввода элемента вы должны использовать .val(), но для тега привязки, как в вашем примере, предполагая, что вы хотите извлечь «тестовый» текст, вы должны использовать .text().

Если вам нужно все HTML-содержимое элемента, вы даже можете использовать функцию .html().

Вы увидите, что для некоторых элементов вывод этих функций аналогичен.

Не забывайте, что для использования этих функций вам необходимо убедиться, что элемент, с которым вы работаете, является объектом запроса.

function targetEvent(e){
  e.preventDefault();
  var target = $(e.target)
  console.log(".text()", target.text())
  console.log(".html()", target.html())
  console.log(".val()", target.val())
}

$(function(){
  $('.clickMe').on('click', targetEvent)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a class="clickMe" href="#">test</a>
<h3 class="clickMe"><span>inner content</span></h3>
<textarea class="clickMe">Some text</textarea>

Свойство целевого события возвращает элемент, вызвавший событие.

пожалуйста, попробуйте этот код.

<a href="#" onclick="targetEvent(event)">test</a>

<script>
function targetEvent(e) {
    e.preventDefault();
    console.log(e.target.text);
}
</script>

Целевое свойство получает элемент, на котором изначально произошло событие, в отличие от свойства currentTarget, которое всегда относится к элементу, прослушиватель событий которого инициировал событие.

1) чтобы получить текст для любого тега:

e.target.text

2) чтобы получить имя тега:

e.target.tagName;

Другие вопросы по теме