Autor | Zpráva | ||
---|---|---|---|
Pajuc Profil * |
#1 · Zasláno: 10. 8. 2005, 16:06:20
Dobrý den,
máte někdo zkušenost s metodou insertBefor? Potřebuji totiž vložit nový řádek na začátek tabulky ale IE6 mi hlásí, že objekt danou vlastnost nebo metodu nepodporuje :( Zde je kód:
|
||
izsak Profil |
#2 · Zasláno: 10. 8. 2005, 16:17:05
Chybu máš tu: document.getElement("parent").insertBefore(newtr,acttr);
Chýba ti tam celý názov funkcie: document.getElementById("parent").insertBefore(newtr,acttr); |
||
izsak Profil |
#3 · Zasláno: 10. 8. 2005, 16:19:51
http://msdn.microsoft.com/library/?url=/workshop/author/dhtml/referenc e/objects/table.asp
Je tu zoznam metód podporovaných v elemente <table>. Patrí medzi ne aj insertBefore. |
||
Fred Profil |
#4 · Zasláno: 10. 8. 2005, 16:27:00
Musíš vygenerovat i thead je to nějaký divný IE bug http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=81 84
<script type="text/javascript"> /* <![CDATA[ */ function foo(){ thead=document.createElement("thead"); tr=document.createElement("tr"); td=document.createElement("td"); td.appendChild(document.createTextNode("Ahoj")); thead.appendChild(tr); tr.appendChild(td); document.getElementById("parent").appendChild(thead); } /* ]]> */ </script> <table id="parent"> <tr><th class="prvni">Zápis</th></tr> </table> <button onclick="foo()"></button> |
||
Fred Profil |
#5 · Zasláno: 10. 8. 2005, 16:28:12
izsak Bez <thead> to fakt nejede, už jsem nad tím jednou dvě hoďky strávil a nechápal jsem, viz odkazovaná diskuse.
|
||
peta Profil * |
#6 · Zasláno: 10. 8. 2005, 16:29:27
http://www.quirksmode.org/dom/cms.html
Podle mne ten script, co mas napsany, funguje tak, ze: on click se spusti foo, ktery vytvori TR a to se pokusi vlozit pred elemet s ID="parent", coz je v tvem pripade table. Takze hned za body vlozi TR, pak nasleduje table a v ni nejake dalsi tr... Navic mi neni jasny tento prikaz: getElement("parent") asi to melo byt getElementByID("parent") Priste si zkus vysledek scriptu nechat zobrazit do textarea neco=... <textarea id="xxx"></textarea> getElementByID("xxx").value=neco; Pak tu mas moznost ve Firefox DOM inspektor (kdyz ne standard, pak jako rozsireni, ja to mam) Pak je tu ve FF moznost oznacit cast dokumentu a pravym tlacitkem s nechas zobrazit zdroj vyberu, coz zobrazi prave aktivni kod. Pri klasickem zobrazit drojovy kod, ti to zobrazi puvodni htm, coz te nezajima. |
||
Fred Profil |
#7 · Zasláno: 10. 8. 2005, 16:36:35
Tady v tom příkladu createElement('table') : http://www.pxl8.com/createElement.html to koukám taky píše o tom <tbody> z <thead> je to stejný
|
||
Pajuc Profil * |
#8 · Zasláno: 11. 8. 2005, 12:30:12
Díky všem za pomoc.
>asi to melo byt getElementByID("parent") Ne, mělo to být getElementById("parent") ;-) Než jsem to sem poslal, tak jsem to dvakrát zkontroloval a stejně jsem to měl blbě. To je k vzteku. Pajuc |
||
peta Profil * |
#9 · Zasláno: 11. 8. 2005, 13:46:34
Pajuc
proto si tyhle veci resim vlastni funkci :) function objGet(x) {return document.getElementById(x)} function cre(x) {return document.createElement(x)} A pak to vypada uz i docela fajn ---Z--- acttr=document.getElementById("start"); newtr=document.createElement("tr"); newtd=document.createElement("td"); newtd.appendChild(document.createTextNode("Ahoj")); newtr.appendChild(newtd); document.getElement("parent").insertBefore(newtr,acttr); ---Na--- var a,b,c; a=objGet("start"); b=cre("tr"); c=cre("td"); c.appendChild(document.createTextNode("Ahoj")); b.appendChild(c); objGet("parent").insertBefore(b,a); (pro nezasveceneho samo neprehledne, ale tak jde o delku kodu a jednoduchost. Urcite jednopismenkove je jednodussi nez 5 znakove zkratky) Jinak sory za to ID, rikam, mam vlastni funkci a kod nepisi z hlavy, obvykle kopiruji :) |
||
Fred Profil |
#10 · Zasláno: 11. 8. 2005, 14:57:55
peta To jsem si taky zvyknul, někde byla inspirace v nějakém kódu, a tak při delších scriptech používám
var d=document; function getHtml(){return d.getElementsByTagName('html')[0];} function getHead(){return d.getElementsByTagName('head')[0];} function getBody(){return d.getElementsByTagName('body')[0];} function getId(id){return d.getElementById(id);} function getVal(id){return getId(id).value;} function getSty(id){return getId(id).style;} function creEl(el){return d.createElement(el)} function creTN(el){return d.createTextNode(el)} |
||
Časová prodleva: 9 měsíců
|
|||
MKS J-no Profil * |
#11 · Zasláno: 25. 4. 2006, 14:21:35
popierdolone:/
|
||
Anonymous Profil * |
#12 · Zasláno: 25. 4. 2006, 15:19:27
<?xml version="1.0" encoding="charset=iso-8859-2"?>
|
||
peta Profil * |
#13 · Zasláno: 27. 4. 2006, 19:33:49
Pajuc
Mozna te bude zajimat takova nesmysla... xatchat.sk - registrace - login - vstup do chatu a dole pod menu je "test ppx" tam je asi 12k JS , ktery cely chat obstarava. Zjistil jsem, ze IE textnode "\n" nepovazuje za node a mi nefungovalo insertBefore. Takze sem tam dal pocitani nodu a bud append nebo insert |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0