Plutooo
@Plutooo

Как взять текст из title ссылки?

Просьба подсказать, как можно взять текст из title ссылки, чтобы он показывался в tooltip от balloon.css.
  • Вопрос задан
  • 160 просмотров
Решения вопроса 2
@lolzqq
HTML,CSS,JS,PHP
Element.getAttribute()
getAttribute() возвращает значение указанного атрибута элемента. Если элемент не содержит данный атрибут, могут быть возвращены null или "" (пустая строка);

<!doctype html>
<html lang="ru">
<head>
  <meta charset="utf-8" />
  <title></title>
  
  <link rel="stylesheet" href="https://unpkg.com/balloon-css@1.0.0/balloon.min.css">
  
  <style type="text/css">
	body{
		width:100%;
		height:100;
		position:relative;
		display:flex;
	}
	.custom_link{
		margin: 5%;
		width: 20%;
		display:block;
		position:relative;
		text-align:center;
		float:left;
	}
  </style>
</head>
<body>

<a class="custom_link" href="#" title="Текст заголовка 1">Ссылка 1</a>
<a class="custom_link" href="#" title="Текст заголовка 2">Ссылка 2</a>
<a class="custom_link" href="#" title="Текст заголовка 3">Ссылка 3</a>
<a class="custom_link" href="#" title="Текст заголовка 4">Ссылка 3</a>

<script>
let links_array=document.querySelectorAll('.custom_link'); // выбираем все блоки/ссылки или что-то ещё, что имеет класс .custom_link
let attr_text=''; // в эту переменную будем собирать аттрибут title
if(links_array.length>0){ // если найден хотя бы 1 подходящий элемент (мы искали .custom_link) то
	links_array.forEach(function(item,i,array){ // перебираем циклом все найденные элементы
		attr_text=item.getAttribute('title'); // забираем текст аттрибута title из .custom_link
		item.setAttribute('aria-label',attr_text); // добавляем к нашему элементу аттрибут 'aria-label' со значением attr_text
		item.setAttribute('data-balloon-pos','up'); // добавляем к нашему элементу аттрибут 'data-balloon-pos' с указанием, что подсказка рисуется сверху (значение 'up')
		item.removeAttribute('title'); // удаляем аттрибут title - чтобы не отображалась подсказка по-умолчанию
	})
}
</script>
 
</body>
</html>

Работает:
604888fd6dc11164209215.jpeg
Ответ написан
Код пройдётся по всем ссылкам с атрибутом title и добавить атрибут aria-label со значением из атрибута title:
$('a[title]').each(function() {
  $(this).attr('aria-label', $(this).attr('title'));
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы