Как получить значение тега <a> в JavaScript

У меня есть такой код:

<html>
<BUTTON ONCLICK = "stups()">VALUE FINDER </BUTTON>
<a value = "this is a value" href = "value"><img src = "b5.jpg"> values rule!!</a>
<p id = "demo"></p>
<script>
var a = document.getElementsByTagName("a").value
function stups(){

document.getElementById("demo").innerHTML=a

}
</script>


</html>

JavaScript просто предназначен для получения значения th (ссылки) при нажатии кнопки, я даже не знаю, каким должно быть значение, является ли это атрибутом href, атрибутом value, значением атрибута img или текст между двумя <a> и </a>, ну, я пробовал ВСЕ, что мог придумать, и это никогда не дает мне никакого значения, он продолжает давать мне слово undefined, пожалуйста, помогите.

NB:I need that to be in between the <a></a> because it is a link

заранее спасибо

Атрибут value нестандартен для тегов <a> и ничего не значит для браузера. Однако вы можете получить его с помощью .getAttribute("value"). Также .getElementsByTagName() возвращает список элементов, и вам нужно проиндексировать или выполнить итерацию, чтобы получить отдельные узлы.

Pointy 25.07.2018 14:25

спасибо, а где мне поставить .getAttribute("value").?

user9871124 25.07.2018 14:29

Что ж, ваши намерения не очень ясны; ваш собственный вопрос указывает на то, что вы даже не уверены, какой атрибут вы хотите получить или как вы хотите идентифицировать <a>, относящийся к нажатию кнопки, среди всех тегов <a>, которые могут быть на странице.

Pointy 25.07.2018 14:33

Если вы хотите контролировать, куда тег a приведет вас, когда вы щелкнете по нему, установите атрибут href, а не атрибут value.

Aplet123 25.07.2018 14:57

Заглавные буквы в Интернете считаются криком, пожалуйста, воздержитесь от их использования.

user3956566 25.07.2018 15:43
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
6
5
23 155
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вам нужно определить, какой атрибут вам нужен из тега a.

Так что попробуйте .getAttribute('value')

<html>
<button onclick = "stups()">VALUE FINDER </button>
<a value = "this is a value" href = "value"><img src = "b5.jpg"> values rule!!</a>
<p id = "demo"></p>
<script>

function stups(){
   var a = document.getElementsByTagName('a')[0].getAttribute('value');
   document.getElementById("demo").innerHTML=a

}
</script>
</html>

В этих ситуациях MDN - ваш друг. Вы также не должны копировать код, который вы не понимаете. srcimg указывает на любое отображаемое изображение. Фактическая ссылка - это href тега a. Появляется текст внутри тега a. Не следует устанавливать атрибут value тега a, поскольку он нестандартен и не нужен. document.getElementsByTagName("a") возвращает массив всех тегов a в документе. Вам нужно указать первую ссылку, запустив document.getElementsByTagName("a")[0]. Вы можете получить ссылку, просто используя .href. В итоге функция stups должна выглядеть примерно так:

function stups(){
    var a = document.getElementsByTagName("a")[0].href;
    document.getElementById("demo").innerHTML = a;
}

Что ты имеешь в виду, MDN - мой друг ??

user9871124 02.08.2018 20:01
Ответ принят как подходящий

Прежде всего, позаботьтесь о том, что вы хотите сделать, потому что .getElementsByTagName("a") вернет вам коллекцию элементов.

Затем вы можете использовать .getAttribute("value"):

var a = document.getElementsByTagName("a");

function stups(){
  document.getElementById("demo").innerHTML = a[0].getAttribute("value");
}
<BUTTON ONCLICK = "stups()">VALUE FINDER </BUTTON>
<a value = "this is a value" href = "value"><img src = "b5.jpg"> values rule!!</a>
<p id = "demo"></p>

⋅ ⋅ ⋅

Если вы хотите управлять несколькими элементами a, вы можете сделать следующее:

  • Используйте .querySelectorAll("a"), чтобы иметь возможность напрямую использовать петлю forEach,
  • .push() ваши значения в массиве,
  • Делайте со своим массивом что хотите.

var as = document.querySelectorAll("a");

function stups(){
  var values = [];
  as.forEach(function(a, index){
    values.push(a.getAttribute("value") || '--- no value ---');
    // OR: values.push(as[index].getAttribute("value"));
  })
  document.getElementById("demo").innerHTML = values.join('<br>');
}
<BUTTON ONCLICK = "stups()">VALUE FINDER </BUTTON>
<a value = "this is a value" href = "value"><img src = "b5.jpg"> values rule!!</a>
<a value = "this is another value" href = "value"><img src = "b5.jpg"> values rule!!</a>
<a href = "value"><img src = "b5.jpg">No value here</a>
<a value = "this is another value, again" href = "value"><img src = "b5.jpg"> values rule!!</a>
<p id = "demo"></p>

Надеюсь, поможет.

Я все же думаю, что должен уточнить, что value тега a вообще не имеет значения и, вероятно, не должен устанавливаться. Атрибут href - это то, на что на самом деле ведет ссылка.

Aplet123 25.07.2018 14:56

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