Убрать пол-анкора от глаз юзеров, но....

12
serjoo
На сайте с 12.09.2011
Offline
389
1563

Есть ссылка:

<a href="/'.$GLOBALS['c'].'/'.$data['uri'].'/">'.$data['name'].' '.$c_info['name_2'].'</a>

Как сделать так, чтобы юзеру показывался: '.$data['name'].'

А в исходном коде чтоб был полный анкор: '.$data['name'].' '.$c_info['name_2'].'

Реально?

Мультур..
дани мапов
На сайте с 06.09.2012
Offline
204
#1

Добавляем в ссылку rel="'.$data['name'].'"

Получится так

<a href="/'.$GLOBALS['c'].'/'.$data['uri'].'/" rel="'.$data['name'].'">'.$data['name'].' '.$c_info['name_2'].'</a>

В конце страницы:


<script>
var links = document.getElementsByTagName("a");
for(var i=0; i<links.length; i++) {
links.innerHTML = links.getAttribute("rel");
}
</script>

Если же пробел всегда разделяет две части и он один, то можно и так (в ссылку аттрибут уже добавлять не нужно):


<script>
var links = document.getElementsByTagName("a");
for(var i=0; i<links.length; i++) {
var str = links.innerHTML;
links.innerHTML = str.split(' ', 1);
}
</script>
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
serjoo
На сайте с 12.09.2011
Offline
389
#2

Сделал первым способом - пропали ссылки главного меню, но сабж остался без изменений.

В стартпосте ошибка, пробел не один, вот так на деле: '.$data['name'].' в '.$c_info['name_2'].'

Юзеру нужно показать: '.$data['name'].'

В исх. код: '.$data['name'].' в '.$c_info['name_2'].'

Alex Klo
На сайте с 15.06.2006
Offline
304
#3

а так не устроит?:

<a href='...'>data-name <span style='visibility:hidden;'>c-info</span></a>

или

<a href='...'>data-name <span style='display:none;'>c-info</span></a>

Проверка и мониторинг позиций сайта ( http://www.topvisor.ru/?inv=1520 ) Продвигаю сайты http://climat-nw.ru/conditioner-installation/ http://www.aircom-spb.ru/service/montaj/
Jor
На сайте с 23.06.2012
Offline
42
Jor
#4

Больше вводных надо, скрыть реально и через CSS

serjoo
На сайте с 12.09.2011
Offline
389
#5
Alex Klo:
а так не устроит?:
<a href='...'>data-name <span style='visibility:hidden;'>c-info</span></a>
или
<a href='...'>data-name <span style='display:none;'>c-info</span></a>

Не:), хотелось бы, чтоб в исх коде в анкоре ниче лишнего не было.

Jor:
Больше вводных надо, скрыть реально и через CSS

хотелось бы, чтоб ссылка была без # Да и не через css. Как то иначе можно?

А какие вводные еще надо, я хз?

дани мапов
На сайте с 06.09.2012
Offline
204
#6
serjoo:
Сделал первым способом - пропали ссылки главного меню, но сабж остался без изменений.

В стартпосте ошибка, пробел не один, вот так на деле: '.$data['name'].' в '.$c_info['name_2'].'

Юзеру нужно показать: '.$data['name'].'
В исх. код: '.$data['name'].' в '.$c_info['name_2'].'

Аааа, ну значит в меню были ссылки типа rel="nofollow", а то что в нужных ссылках без изменений - странно, вы добавили в ссылки аттрибут rel="'.$data['name'].'" ? Добавьте, а js код на такой замените:


<script>
var links = document.getElementsByTagName("a");
for(var i=0; i<links.length; i++) {
var a = links.innerHTML;
var r = links.getAttribute("rel");
if (a.indexOf(r) != -1)
links.innerHTML = r;
}
</script>
iqmaker
На сайте с 17.04.2012
Offline
309
#7

Засовывать данные в rel, это что за ....? для таких целей есть атрибут data-(name) если уж хочется через js это делать, как-нить так: http://jsfiddle.net/012p0p4b/

serjoo
На сайте с 12.09.2011
Offline
389
#8

iqmaker, там же у каждого урла разные анкоры вылазят, но за наводку спасибо. :)

Вот так сделал:

В урл добавил: data-url="'.$data['name'].'"

На страницу - js:

<script type="text/javascript">
$(document).ready( function() {
$('a').each( function() {
if( $(this).data('url') ) {
$(this).html( $(this).data('url') );
}
});
});
</script>

Всем лучи добра за участие, господа. :)

дани мапов
На сайте с 06.09.2012
Offline
204
#9
iqmaker:
Засовывать данные в rel, это что за ....?

Успокойтесь, великий гуру программирования 😂 Еще до введения data-*. использовались и используются классы (или rel в ссылках) для сохранения информации в HTML, с целью последующего использования в js. Данное решение больше подходило из всех предложенных ТС, и даже вы использовали его, лишь слегка переделав, тем не менее только под моим сообщением решили вставить свои три копейки?!

iqmaker
На сайте с 17.04.2012
Offline
309
#10
дани мапов:
Успокойтесь, великий гуру программирования Еще до введения data-*. использовались и используются классы (или rel в ссылках) для сохранения информации в HTML, с целью последующего использования в js. Данное решение больше подходило из всех предложенных ТС, и даже вы использовали его, лишь слегка переделав, тем не менее только под моим сообщением решили вставить свои три копейки?!

Что вы так злитесь, первый раз увидел топик, увидел, что ТС хочет обойтись без CSS ( хотя сам бы я наверное сделал бы через CSS), увидел, что вы мучаете rel ссылок, который предназначен совсем для другого, у которого есть совершенно определенный набор возможных значений: http://www.w3schools.com/TAgs/att_a_rel.asp, не ломающих валидацию, решил предложить подобный разве спорю с этим?, но более правильный способ решения, который конечно же предложили вы.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий