2016-01-03 3 views
0

У меня есть HTML как это:Атрибут ссылку на другой элемент

<div class="post"> 
    <p><a href="link1">Paralase1 mokew kweis</a></p> 
    <p>Kwoie uisye jkui</p> 
    <a class="pan">Readmore</a> 
</div> 

<div class="post"> 
    <p><a href="link2">Paralase2 mokew kweis</a></p> 
    <p>Kwoie uisye jkui</p> 
    <a class="pan">Readmore</a> 
</div> 

<div class="post"> 
    <p><a href="link3">Paralase3 mokew kweis</a></p> 
    <p>Kwoie uisye jkui</p> 
    <a class="pan">Readmore</a> 
</div> 

Я хочу, чтобы элемент a имеет имя класса pan будет добавлена ​​ссылка из заголовка сообщения (link1, link2, link3), но и добавить первый слово после заголовка (Paralase1, Paralase2, Paralase3), чтобы иметь результат:

<div class="post"> 
    <p><a href="link1">Paralase1 mokew kweis</a></p> 
    <p>Kwoie uisye jkui</p> 
    <a class="pan" href="link1#Paralase1">Readmore</a> 
</div> 

<div class="post"> 
    <p><a href="link2">Paralase2 mokew kweis</a></p> 
    <p>Kwoie uisye jkui</p> 
    <a class="pan" href="link2#Paralase2">Readmore</a> 
</div> 

<div class="post"> 
    <p><a href="link3">Paralase3 mokew kweis</a></p> 
    <p>Kwoie uisye jkui</p> 
    <a class="pan" href="link3#Paralase3">Readmore</a> 
</div> 
+1

И что такое 'post title' в этом контексте? – adeneo

+0

@adeneo: они link1, link2, link3 –

ответ

1

Таким образом, вы хотите, чтобы сковорода связать одно и то же, как парную ссылку?

$('.pan').each(function(){ 
    var $this = $(this), 
     $pairedLink = $this.parent().find('a').eq(0), 
     desiredLink = $pairedLink.attr('href'); 

    desiredLink = desiredLink +'#'+ $pairedLink.text().split(' ')[0]; 

    $this.attr('href', desiredLink); 
}); 

Было бы проще, если бы у первой ссылки был класс.

В том числе скрипку ссылки: https://jsfiddle.net/bqz7zmhf/1/

+0

Спасибо. Я понимаю ваш путь. Надеюсь, я смогу это сделать. –

+0

Возможно ли, чтобы список ссылок показывался как: link1 # Paralase1, link2 # Paralase2, link3 # Paralase3. Это означает, что он также добавляет первое слово заголовка сообщения в ссылку. –

+0

Спасибо, но Paralase1, Paralase2, Paralase3 - это разные слова, а не индексы. только, например. –

1

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

$('.pan').click(function(){ 
    $(this).parent().find('a:first').click(); 
}); 

или петли через все посты и добавить HREF.

$('a.pan').attr('href',function(){ 
    return $(this).parent().find('a:first').attr('href'); 
}); 
+0

Я изменил вопрос, не могли бы вы дать мне предложение для нового обновления? –

+1

Вам просто нужно первое слово? Ожидаемые результаты нечеткие – charlietfl

+0

Да. первое слово каждого названия. Я хочу, чтобы он появился после ссылки #. Это моя цель, но ваш результат не сработал, как я ожидал. –

Смежные вопросы