Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: innerHTML
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
none
Witam
Mam :
Kod
<tr id="aaa1"></tr>
<tr id="aaa2"></tr>


i kiedy wstawiam InnerHTML="<td>aaa</td><td>bbb</td>" to JS wyswietla blad?

Gdy dam
Kod
<td id="aaa2"></td>

to czemu?
nospor
A mi nie wywala:
  1. <script language="javascript">
  2. function dodaj()
  3. {
  4. document.getElementById('aaa1').innerHTML = '<td>aaa</td><td>bbb</td>';
  5. }
  6.  
  7. <tr id="aaa1"></tr>
  8. <tr id="aaa2"></tr>
  9. <input type="button" value="dodaj" onclick="dodaj();" />


Na przyszlosc podaj wiecej kodu co i jak robisz
none
Oki dzięki ale umnie nie działa to co napisałeś.
U mnie wywala bład czasu wykonywania.
nospor
a pokaz caly kod jaki masz
none
To samo co ty napisałeś. Jak widać nie działa to na IE pod silnikami grecko działa.
Kod
<html>
<head>

</head>
<body>

<script language="javascript">
function dodaj()
{
document.getElementById('aaa1').innerHTML = '<td>aaa</td><td>bbb</td>';
}
</script>

<table>
<tr id="aaa1"></tr>
<tr id="aaa2"></tr>
</table>
<input type="button" value="dodaj" onclick="dodaj();" />

</body>
</html>
nospor
pod ie to muszisz dynamicznie tworzyc elementy. Tu masz kod co dziala wszedzie smile.gif
  1.  
  2. </head>
  3.  
  4. <script language="javascript" type="text/javascript">
  5. function createElement(element, parent,content,id)
  6. {//tworzy element w parent
  7. var el=element;
  8. parent.appendChild(element=document.createElement(element));
  9. if (id) {element.id=id;element.name=id;}
  10. if (content)
  11. {
  12. if (el!='input') element.innerHTML=content;
  13. else element.value=content;
  14. }
  15. return element;
  16. }
  17.  
  18.  
  19. function dodaj()
  20. {
  21. tr = document.getElementById('aaa1');
  22. td=createElement('td',tr,'aaa');
  23. td=createElement('td',tr,'bbb');
  24. }
  25.  
  26. <tr id="aaa1"></tr>
  27. <tr id="aaa2"></tr>
  28. <input type="button" value="dodaj" onclick="dodaj();" />
  29.  
  30. </body>
  31. </html>
none
dzięki
revyag
Problem jest taki, że zawartości tr nie zmienisz pod IE przy pomocy innerHTML, tak napisali w msdnie. Klik
Nie wiem czemu microsoft tak zrobił, ale tego się nie przeskoczy.
Pod firefoxem jest ok.
A użycie DOM'a wszystko rozwiązuje smile.gif
Ale tak chyba będzie krócej.
Kod
<script type="text/javascript">
function dodaj()
{
    var td1 = document.createElement("td");
    var td2 = document.createElement("td");
    
    document.getElementById('aaa1').appendChild(td1).appendChild(document.createTextNode("aaa"));
    document.getElementById('aaa1').appendChild(td2).appendChild(document.createTextNode("bbb"));
}
</script>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.