Как вставить разделители после каждого элемента? - PullRequest
1 голос
/ 28 октября 2011

У меня в div есть несколько гиперссылок. Количество гиперссылок, однако, варьируется. Нельзя сказать, что это будет. Это может быть One, Two, N. Что известно, так это то, что в div всегда есть хотя бы одна гиперссылка.

Прямо сейчас у меня есть ссылки в этом формате:

Link1 Link2 Link3 

Я хочу преобразовать это в:

Link1 | Link2 | Link3

У меня две проблемы:

  1. ПОСЛЕ последнего пункта есть труба - не хорошо.
  2. Канал, который вставляется как текст гиперссылки, а не между элементами.

Чтобы преодолеть первую проблему, я пытался вставить трубу, только если элемент не является последним. для второй проблемы я понятия не имею, что делать .. вот что я делаю до сих пор:

http://jsfiddle.net/KL6Ua/

Кроме того, я не уверен, что есть лучший способ решить первую проблему. Совет пожалуйста.

Спасибо,

Ответы [ 3 ]

4 голосов
/ 28 октября 2011

Что-то вроде http://jsfiddle.net/k8Fzk/?

$("<span>|</span>").insertAfter($('#divLinks a:not(:last)'));

Редактировать , если вы хотите вставить только символ канала после каждого элемента, вы должны использовать после , т.е. http://jsfiddle.net/W6RQH/:

$('#divLinks a:not(:last)').after('|');
1 голос
/ 28 октября 2011

У вас есть список ссылок, поэтому не бойтесь использовать соответствующие HTML-теги для списков ( ul li ).Тогда не используйте Javascript для оформления элементов - CSS - лучший инструмент.

http://jsfiddle.net/PcHSM/

1 голос
/ 28 октября 2011
    if(index != 0)
        $(this).prepend(delimiter);

OK Обновлено ..

<div id="divLinks">
    <span><a href="">One</a></span>
    <span><a href="">two</a></span>
    <span><a href="">three</a></span>
</div>



$(function() {

    var NumberOfLinks = $('#divLinks a').length;

    $('#divLinks a').each(function(index) {
        var delimiter = " | ";

        if(index != 0)
            $(this).parent().prepend(delimiter);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...