ray Posted November 6, 2008 Report Share Posted November 6, 2008 Problēma tāda, ka ar js ievadīto html kodu nevar noslēgt div, jauno div liek iekšā iepriekšizveidotajā, bet vajag lai noslēdz iepriekšējo un izveido jaunu html <div id="nr_1"><a onClick="jauns('1')">jauns</a></div> javascript function jauns(nummurs) { elem = document.getElementById("nr_"+nummurs); nummurs++; elem.innerHTML = "</div><div id=\"nr_"+nummurs+"\"><a onClick=\"jauns('"+nummurs+"')\">jauns</a>"; } Link to comment Share on other sites More sharing options...
andrisp Posted November 7, 2008 Report Share Posted November 7, 2008 A kur problēma normāli darīt ? Nu, tas ir, pievienot elementus pa veseliem gabaliem, nevis kaut kā šitā ? Link to comment Share on other sites More sharing options...
ray Posted November 7, 2008 Author Report Share Posted November 7, 2008 nesapratu tavu domu Link to comment Share on other sites More sharing options...
andrisp Posted November 7, 2008 Report Share Posted November 7, 2008 Es īsti nesaprotu, ko tu nesaproti. :) Bet lieta tāda, ka ja tu ar innerHTML pievieno kādu saturu dokumentam, tad tas uzreiz tiek nopārsēts un pārvērts DOM kokā. Tātad loģiski, ka tad arī nestrādās tavs risinājums, jo DOM koks nevar saturēt nenoslēgtus elementus. Tev drīzāk vajag ko šādu (es izmantošu jquery): function jauns(nummurs) { elem = $("nr_"+nummurs); nummurs++; elem.after("<div id=\"nr_"+nummurs+"\"><a onClick=\"jauns('"+nummurs+"')\">jauns</a></div>"); } Link to comment Share on other sites More sharing options...
ray Posted November 7, 2008 Author Report Share Posted November 7, 2008 tas laikam nederēs, jo spaidot "Jauns", man jābūt iespējai pievienot bezgalīgi daudz div ar attiecīgu saturu tajā (šajā gadījumā input priekš formas) Link to comment Share on other sites More sharing options...
andrisp Posted November 7, 2008 Report Share Posted November 7, 2008 Neredzu nevienu iemeslu, kāpēc, lai tas nederētu. Varbūt paskaidro sīkāk. Link to comment Share on other sites More sharing options...
ray Posted November 7, 2008 Author Report Share Posted November 7, 2008 (edited) tomēr laikam derēs. neievēroju "elem.after" cik saprotu, lai darbotos tavs piedāvātais skripts vajag jquery. novilku no lapas jquery.js, pamainīju js kodu. tajā div ieliek prasīto vertību, bet jaunu elementu pēc pirmā elementa nepievieno. kur varētu būt kļūda? js: function jauns(nummurs) { elem = document.getElementById("nr_"+nummurs); elem.innerHTML = "ir ok"; elem2 = $("nr_"+nummurs); nummurs++; elem2.after("<div id=\"nr_"+nummurs+"\"><a href=\"java script: void();\" onClick=\"jauns('"+nummurs+"')\">jauns</a></div>"); } Edited November 7, 2008 by ray Link to comment Share on other sites More sharing options...
andrisp Posted November 7, 2008 Report Share Posted November 7, 2008 Kļūdu izmet kaut kādu ? Link to comment Share on other sites More sharing options...
ray Posted November 7, 2008 Author Report Share Posted November 7, 2008 neizmet. ieliku alert(); skripta beigās js funkcijā, pat to izmeta. Link to comment Share on other sites More sharing options...
indoom Posted November 7, 2008 Report Share Posted November 7, 2008 (edited) bez jquery <script type="text/javascript"> function jauns(nummurs) { var elem = document.getElementById('nr_'+nummurs); // meklē pēc nummura if (elem) { // ir atradis elem.innerHTML = 'ir ok'; // nomaina saturu var el2 = document.createElement('div'); // izveido jaunu el2.id = 'nr_' + (++nummurs); // iedod id elem.parentNode.insertBefore(el2, elem.nextSibling); // pievieno aiz el2.innerHTML = '<a href="java script: void();" onclick="jauns('+nummurs+')">jauns</a>'; // saliek saturu } } </script> <div id="nr_1"><a href="java script:;" onclick="jauns(1)">jauns</a></div> Edited November 7, 2008 by indoom Link to comment Share on other sites More sharing options...
Recommended Posts