Autor Zpráva
anonymníí
Profil *
Ahoj,
zase mám někde bblou chybu, kterou nevidím. Můžu poprosit zdejší zkušená očka, jestli by mi s problémem neporadila?

<!-- sem potřebuju vytvořit element A -->
<p id="hidden"><p>
<script>
    var a = document.createElement('a');
    a.innerHTML = 'Přidat další'; // toto se nevloží, nevím proč
    a.accesskey = '1'; // tady potřebuji jen nějakou iteraci pro pozdější JS zpracování, některé prohlížeče nebaští/ily neznámé atributy v JS, co mám použít místo accesskey? Použil bych REL, ale bojím se
    document.getElementById('hidden').insertAdjacentHTML('beforebegin', a);
</script>

Odkaz se mi vytvoří, ale prázdný - bez textu a bez atributu.
Chamurappi
Profil
Reaguji na anonymníího:
Proč používáš insertAdjacentHTML, což je metoda na doplňování innerHTML (ještě nedávno podporovaná pouze Explorerem), místo normálního appendChild nebo insertBefore? Divím se, že to vůbec nějak funguje.

některé prohlížeče nebaští/ily neznámé atributy v JS
Které prohlížeče? Atributy myslíš vlastnosti na objektu, nebo opravdové atributy?

potřebuji jen nějakou iteraci pro pozdější JS zpracování
Opravdu potřebuješ?
anonymníí
Profil *
Chamurappi:
insertBefore zkusím. Hledal jsem, jak v JS něco přidat před (=before), našel jsem toto http://youmightnotneedjquery.com/#before. Proto jsem to použil (použil, ne používám).

Které prohlížeče? Atributy myslíš vlastnosti na objektu, nebo opravdové atributy?
Nemám teď možnost přesně zkoušet Explorer, nemohlo to být tam? Bude a.rel = 1 fungovat všude? Příp. a.cokoliv = 1?

Opravdu potřebuješ?
Možná ne, nevím. Prozatím si myslím, že ano :-)

Budu přidávat/odebírat blok HTML (třeba fieldset do formuláře), kde jsou inputy pojmenovány následovně:
user[0][name]
user[0][lastname]
user[0][address]
...
a dalsi pak
user[1][name]
...

V tomto případě ten iterátor potřebuji, ne? Samozřejmě, teoreticky by se dalo udělat to pojmenování opačně, user[name][], ale raději bych dále v aplikaci pracoval s polem, kde budou veškerá data o uživateli, než se jmény, adresami, atd. všech uživatelů.


Tak následující zápis vytváří také jen prázdný odkaz, bez atributů a bez anchor-linku.

var a = document.createElement('a');
a.innerHTML = 'Přidat další';
a.rel = '1';
document.getElementById('hidden').appendChild(a);

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: