» Poradna » Programy

Javascript datový typ getElementId

 |   |  Microsoft Windows 7 Chrome 19.0.1084.52  |  [195.70.145.---]

Dobrý dne,

php mi generuje buňky do tabulky např:

//id první tři čísla zprava jsou Xová souřadnice, 1000 a výš je Y

chtěl bych aby po kliknutí se mi upravila nejen vybraná buňka, ale i buňky sousední

document.getElementById((parseFloat(td)-1).toString()).innerHTML+=1;
document.getElementById((parseFloat(td)+1).toString()).innerHTML+=1;
document.getElementById((parseFloat(td)-1000).toString()).innerHTML+=1;
document.getElementById((parseFloat(td)+1000).toString()).innerHTML+=1;
cell.innerHTML+=10;
//td je vybraná buňka

jak vidíte, zkoušel jsem jí převést na float a následně zpět do stringu, ale prostě dvě totožné hodnoty nejsou totožné.

děkuju

Odpovědi na otázku

 |   |  Microsoft Windows 7 Firefox 3.6.15

Uvedený kód je sice syntakticky správně, ale v něčem logicky správně není.

Funkce objektu document, getElementById přebírá jako parametr referenci na jedinečný identifikátor objektu DOM.

Identifikátor ID nesmí začínat na číslo a nesmí být číslem.
A Vy se pokoušíte první část identifikátoru převést na číslo a odečítáte od něj další číslo.

Další zajímavostí je výsledek ke kterému přidáváte 1.
Zkoušíte k řetězci (což vrací vlastnost innerHTML) přičíst číslo, čímž bych očekával, že dojde ke spojení řetězců.

Pro začátek proto doporučuji si někde tisknout parametry vstupující do funkce getElementById a ujistit se, že jednak jsou typu řetězec, nezačínají číslem a objekt se kterým se zamýšlíte pracovat opravdu takovéto id má (existuje v dokumentu).

Zdraví

S.L.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Datový typ, Buňka, Souřadnice



Určitě si přečtěte


Aktuální číslo časopisu Computer

Jak rychlé je nabíjení bez drátů?

Test 11 sluchátek pro hráče

Aplikace, které vám zachrání dovolenou

Kompletní přehled datových tarifů