Jump to content
php.lv forumi
  • 0

getElementsById order by highest id


laucinieks

Question

Tātad vai kāds var iedot piemēru kā uztaisīt skriptu, kurš sorto visus img id, augošā secībā.

Piem:

Bez javascript bildes ir šādā secībā -

<img src=".." id="1">

<img src=".." id="4">

<img src=".." id="2">

<img src=".." id="5">

<img src=".." id="6">

<img src=".." id="3">

Ar Javascript bildes ir šādā secībā -

<img src=".." id="1">

<img src=".." id="2">

<img src=".." id="3">

<img src=".." id="4">

<img src=".." id="5">

<img src=".." id="6">

 

Paldies jau iepriekš,

Laucinieks.

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Jā, to zinu, tas bija vienkārši kā piemērs. Ir tāda lieta, ka bildes ir kārtis, kuras tiek ņemtas no datubāzes 'kārtis', kurā ir lauki stiprums un bildes. Tātad katrai bildei tiek pielikts klāt arī tās stiprums. Uz ekrāna tiek parādītas 6 kārtis kuras no visām datubāzes kārtīm tiek izdotas randomā, un vēlos viņas sakārtot augošā secībā pēc kārts stipruma (manā gadījumā <img id=stiprums'.$stiprums[$p1cards].' src="'.$liela_bilde[$p1cards].'">)

Link to comment
Share on other sites

  • 0

Tik tāpēc, ka ieraudzīju ka php.lv/f izmanto prototype.js sagribējās uzrakstīt vienu prototype.js laiku rindiņu.

$("foo").innerHTML = $A($$("#foo img")).sort(function(a,b) {return a.id > b.id;}).inject("", function(a, b) {return a+"<img src='"+b.src+"' id='"+b.id+"'>"});

un nē, tas nav kā būtu pareizi un vajadzētu darīt :D , bet nu vajadzētu sakārtot..

Link to comment
Share on other sites

  • 0

<div id="card12"></div>

 

card_id = $('div').attr('id');

card = (integer) card_id.substr(6); // Ceru, ka nenokļūdijos. :D

 

Es reāli pat nezinu kas par problēmu. Vienkārši gribējās to uzrakstīt. :D

Link to comment
Share on other sites

  • 0

jQuery way: http://jsfiddle.net/DwWAp/

 

js:

$('.card').sort(function(a,b){return a.id>b.id?1:-1;}).appendTo('#cards');

 

html:

<div id="cards">
   <div class="card" id="a1">a1</div>
   <div class="card" id="a3">a3</div>
   <div class="card" id="a6">a6</div>
   <div class="card" id="a2">a2</div>
   <div class="card" id="a4">a4</div>
   <div class="card" id="a5">a5</div>
</div>

Link to comment
Share on other sites

  • 0

jQuery way: http://jsfiddle.net/DwWAp/

 

js:

$('.card').sort(function(a,b){return a.id>b.id?1:-1;}).appendTo('#cards');

 

html:

<div id="cards">
   <div class="card" id="a1">a1</div>
   <div class="card" id="a3">a3</div>
   <div class="card" id="a6">a6</div>
   <div class="card" id="a2">a2</div>
   <div class="card" id="a4">a4</div>
   <div class="card" id="a5">a5</div>
</div>

 

Strādā, bet aiziet greizi, ja ir piemēram - id="a1" id="a11" id="a2" id="a17" tad sakārtojas tā - id="a1" id="a11" id="a17" id="a2" nevis id="a1" id="a2" id="a11" id="a17"

Link to comment
Share on other sites

  • 0

var pārveidot kārtošānas compare funkciju, tā, lai izgriež stringu un pārveido par Number tipu un tad salīdzina:

http://jsfiddle.net/DwWAp/12/

 

$('.card').sort(function(a,b){
   return Number(a.id.split('a')[1])>Number(b.id.split('a')[1])?1:-1;
}).appendTo('#cards');

 

nedaudz labāks variants:

http://jsfiddle.net/DwWAp/13/

 


$('.card').sort(function(a,b){
   return Number(a.id.substr(1))>Number(b.id.substr(1))?1:-1;
}).appendTo('#cards');

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...