id <li> opvragen HTMLcontainer

Pagina: 1
Acties:

  • MrQcue
  • Registratie: Januari 2005
  • Laatst online: 01-05 23:43
Ik zit met het volgende probleem.

Middels een dhtml menu kan ik de volgorde veranderen van menu-items. Nadat dit gedaan is wil ik de huidige volgorde van de gebruiker opslaan. Met onderstaand stukje JS kan ik de innerHTML opvragen van de <li> elementen. Wat ik probeer te bereiken is om alleen de id te krijgen van de <li> elementen. Dit zou ik eventueel ook in PHP kunnen strippen maar als het netjes in JS kan zou dat mooier zijn.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Javascript

<script language="JavaScript">

function foo(listID) {
    var list = document.getElementById(listID);
    var items = list.getElementsByTagName("li");
    var itemsString = "";
    for (var i = 0; i < items.length; i++) {
        if (itemsString.length > 0) itemsString += ":";
        itemsString += items[i].innerHTML;
    }
    alert(itemsString);
}

</script>


// HTML

<ul id="list2" class="sortable boxy">
    <li>
        <div id="01View" class="view">alpha</div>
    </li>
    <li>
        <div id="02View" class="view">bravo</div>
    </li>
    <li>
        <div id="03View" class="view">charlie</div>
    </li>
    <li>
        <div id="04View" class="view">delta</div>
    </li>
    <li>
        <div id="05View" class="view">echo</div>
    </li>
</ul>

  • Fatamorgana
  • Registratie: Augustus 2001
  • Laatst online: 21-07-2025

Fatamorgana

Fietsen is gezond.

Ik zie bij de <li> elementen geen id staan, bedoel je niet dat je de id van de <div> binnen de <li> elementen wil opvragen? Als je dat wilt kan het bv zo:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function foo(listID) {
    var list = document.getElementById(listID);
    var items = list.getElementsByTagName("li");
    var itemsString = "";
    for (var i = 0; i < items.length; i++) {
        if (itemsString.length > 0) itemsString += ":";

        var items2 = items[i].getElementsByTagName("div");
        for (var j = 0; j < items2.length; j++) {
            itemsString += items2[j].id;
        }
    }
    alert(itemsString);
}

[ Voor 70% gewijzigd door Fatamorgana op 01-06-2005 13:09 ]


  • MrQcue
  • Registratie: Januari 2005
  • Laatst online: 01-05 23:43
Stom van me.. zat ff helemaal verkeerd. Dat is precies wat ik bedoelde.

Maar eigenlijk moet ik ook de waarde die tussen het div-je staat opvragen.

Ik zal even kijken of daar een eigenschap voor bestaat. Iemand nog suggesties?

[EDIT]

.innerHTML is de eigenschap.... het werkt.

[ Voor 12% gewijzigd door MrQcue op 01-06-2005 13:41 ]