Як ўставіць падзельнікі пасля кожнага элемента?

У мяне ёсць, у DIV, некалькі гіперспасылак. Колькасць гіперспасылак, аднак, змяняецца. Там няма кажуць, што гэта будзе. Гэта можа быць адзін, два, N. Што вядома, што заўсёды ёсць па меншай меры адна гіперспасылкі ў справах.

У мяне ёсць, прама зараз, спасылкі ў гэтым фармаце:

Link1 Link2 Link3 

Я хачу, каб пераўтварыць яго у:

Link1 | Link2 | Link3

Я сутыкнуўся з двума праблемамі:

  1. Існуе труба пасля апошняга элемента. - не добра
  2. Труба, якая атрымлівае ўстаўлена як тэкст гіперспасылкі, а не паміж элементамі.

Для пераадолення першай праблемы, я паспрабаваў ўставіць трубу, толькі калі элемент не з'яўляецца апошнім. для другой задачы, я паняцця не маю, што рабіць .. вось што я рабіў да гэтага часу:

http://jsfiddle.net/KL6Ua/

Акрамя таго, я не ўпэўнены, што ёсць лепшы спосаб вырашыць першую праблему. Падкажыце калі ласка.

Дзякуй,.

1

3 адказы

Нешта накшталт http://jsfiddle.net/k8Fzk/ ?

$("|").insertAfter($('#divLinks a:not(:last)'));

Edit, if you want to insert just a pipe character after each a element, you should use after i.e. http://jsfiddle.net/W6RQH/:

$('#divLinks a:not(:last)').after('|');
4
дададзена
@stecb, так што калі я хачу, ці магу я ставіць толькі характар ​​трубы? спрабаваў і не хачу працаваць!
дададзена аўтар iamserious, крыніца
Прывітанне @stecb, вялікі .. дзякуй, хоць, я не зусім разумею, чаму падзельнік павінен быць прамежкам .. Вы можаце растлумачыць? дзякуй
дададзена аўтар LocustHorde, крыніца
ды, @iamserious правільна, калі я вымаю прамежак, труба не працуе
дададзена аўтар LocustHorde, крыніца
ой я бачыў ваш адказ трохі позна, дзякуй .. я думаю, цяпер я разумею! павінны пайсці праверыць дакументацыю.
дададзена аўтар LocustHorde, крыніца
сог у гэтым выпадку, можа быць, ўстаноўка Дысплей: убудаваны блок да элемента дыяпазону, вы можаце ўсталяваць карыстацкі запас, колер і г.д. :)
дададзена аўтар stecb, крыніца
характар ​​трубы не DOM-вузел, таму ён выкліча памылку экспрэсіі. У гэтым выпадку і варта выкарыстоўваць пасля таго, як напрыклад, $ ( '# divLinks а: не (: апошняя)'). Пасля таго, як ( '|');
дададзена аўтар stecb, крыніца

У вас ёсць <моцны> спіс спасылак, так што не бойцеся выкарыстоўваць адпаведныя HTML-тэгі для спісаў ( уль Лі ). Затым, не выкарыстоўвайце Javascript для ўпрыгожвання элементаў - CSS з'яўляецца лепшым інструментам.

http://jsfiddle.net/PcHSM/

1
дададзена
Прывітанне, гэта даволі добрая ідэя, але я не маю кантролю над тым, што ідзе на старонку, я працаваць на ўжо прадстаўленай старонцы з JQuery, каб атрымаць рэчы на ​​месца .. дзякуй.
дададзена аўтар LocustHorde, крыніца
О, добра. Ва ўсякім выпадку, вы можаце выкарыстаць: перш, чым і для <я> а тэгі, <я> уль Лі проста больш семантыку для стварэння спісаў.
дададзена аўтар artuska, крыніца
    if(index != 0)
        $(this).prepend(delimiter);

OK Абноўлена ..

<div id="divLinks">
    One
    two
    three
</div>



$(function() {

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

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

        if(index != 0)
            $(this).parent().prepend(delimiter);
    });
});
1
дададзена
Прывітанне Стыў, прабачце, труба працягвае з'яўляцца ўнутры гіперспасылкі, і, такім чынам, яна па-ранейшаму з'яўляецца спасылкай. не вырашае маю другую (і галоўную) праблему.
дададзена аўтар LocustHorde, крыніца
ну, прабачце @steve, нават не спрабуючы гэтага кода, я магу сказаць, што гэта няправільна, бо кожны раз, калі труба далучаецца да бацькі, усе трубы знаходзяцца ў адным месцы, а таксама спасылкі ў іншы .. вось што робіць ваш код: jsfiddle.net/7s633/2
дададзена аўтар LocustHorde, крыніца
Прывітанне, ааа да я бачу, мае размах працы, але ўся прычына, я раблю гэта ў JQuery, таму што я не якое прыносіць старонку і я не маюць кантролю над ім, я магу толькі фармат пасля таго, як старонка была вытворчасці .. Дзякуй вельмі шмат, занадта
дададзена аўтар LocustHorde, крыніца
Глядзіце маё абнаўленне ..
дададзена аўтар Steve, крыніца
Калі вы паглядзіце на вашыя спасылкі, я прыклаў іх пралётных элементаў, якія сапраўды робяць яго працу. Ваш jsfiddle не тое, што было прапанавана, але не праблема.
дададзена аўтар Steve, крыніца