Можно ли сделать так, чтобы все html-ссылки имели один и тот же заголовок?
Дело в том, что у меня есть таблица, содержащая ~2000 строк, где каждая строка содержит ссылку с одинаковым названием, например
<a id="1" title="A very long string common to all my links that i would like to have only once in the file in order to gain weight" href="goThere1">My 1st link</a>
[...]
<a id="2000" title="A very long string common to all my links that i would like to have only once in the file in order to gain weight" href="goThere2000">My 2000th link</a>
Мне интересно, можно ли не использовать эту очень длинную строку заголовка 2000 раз!?
3 answers
Одним из решений было бы использовать Javascript для добавления всех заголовков ссылок после загрузки страницы. Это означает, что загрузка для пользователя будет небольшой - хотя в зависимости от того, какой длины строка на самом деле, она может занять больше памяти. Еще один возможный недостаток: поисковые системы и некоторые программы чтения с экрана могут не видеть заголовки ссылок.
Сначала добавьте класс в свои ссылки. Я сделал его очень коротким, чтобы как можно меньше раздуваться, но вам может понадобиться более описательный класс имя.
<a id="1" class="t" href="goThere1">My 1st link</a>
[...]
<a id="2000" class="t" href="goThere2000">My 2000th link</a>
Затем добавьте этот Javascript (непроверенный, но должен работать):
<script type="text/javascript">
var titleString = "A very long string common to all my links that i would like to have only once in the file in order to gain weight."
var links = document.getElementsByClassName('t');
for ( var l in link )
{
l.setAttribute('title', titleString);
}
</script>
Если вы хотите, чтобы атрибут title действовал для каждого элемента , не помещая заголовок против каждой ссылки, затем вложите его в DIV и назначьте атрибут title DIV.
Например, сравните http://jsfiddle.net/tgew9/
<a id="1" title="A very long string common to all my links that i would like to have only once in the file in order to gain weight" href="goThere1">My 1st link</a>
[...]
<a id="2000" title="A very long string common to all my links that i would like to have only once in the file in order to gain weight" href="goThere2000">My 2000th link</a>?
С http://jsfiddle.net/tgew9/1/
<div title="A very long string common to all my links that i would like to have only once in the file in order to gain weight">
<a id="1" href="goThere1">My 1st link</a>
[...]
<a id="2000" href="goThere2000">My 2000th link</a>
</div>
Если ваши ссылки находятся в базе данных, то у вас есть несколько вариантов, оба из которых просты в использовании.
1) Обновите свою базу данных, включив в нее тег заголовка. Если у вас еще нет столбца для тега заголовка, создайте его, а затем выполните следующий запрос: UPDATE tablename SET title = 'Очень длинная строка, общая для всех моих ссылок, которую я хотел бы иметь только один раз в файле, чтобы набрать вес';. Затем всякий раз, когда вы динамически генерируете страницы, которые используют эти ссылки, просто вытаскивайте и распечатайте заголовок вместе с остальной частью ссылки.
2) Поскольку текст одинаков для каждой ссылки, просто жестко закодируйте его прямо в свой код. Вот пример PHP:
while ($row = mysql_fetch_assoc($result))
{
echo '<a href="' . $row['url'] . '" title="A very long string common to all my links that i would like to have only once in the file in order to gain weight">' . $row['anchor_text'] . '</a>';
}