Das sehe ich anders. Nehmen wir als Beispiel einen virtuellen Posteingang, dort habe ich eine Liste von eingegangen Nachrichten, jetzt möchte ich gerne eine Button haben, der alle ungelesenen Nachrichten markiert.
Beispiel:
... Das habe ich mal schnell nach der Idee von Dave und gemäß dem Hinweis von molily realisiert. (Was nicht heißt, dass ich von der einfachen Lösung als allgemeiner Präferenz abgehe)
Die "Markierung" ist allerdings das "Verschwinden" aller gelesenen Nachrichten bzw. des Spams.
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function toggle_display(o,s) {
if (o.checked) {
remove_classname('liste',s)
} else {
add_classname('liste',s)
}
}
function add_classname(id,classname) {
o=document.getElementById(id);
o.className=o.className + ' ' + classname;
}
function remove_classname(id,classname) {
o=document.getElementById(id);
s=o.className;
s_new='';
ar=s.split(" ");
for (i=0; i<ar.length; i++) {
if (ar[i] != classname) {
s_new = s_new + ' ' + ar[i];
}
}
o.className=s_new;
}
</script>
<style type="text/css">
ul.hide_read .read, ul.hide_spam .spam {
display:none;
}
</style>
</head>
<body>
<ul id="liste">
<li class="read">(gelesen)</li>
<li class="read">(gelesen)</li>
<li class="unread">(ungelesen)</li>
<li class="spam">(spam)</li>
<li class="read">(gelesen)</li>
<li class="unread">(ungelesen)</li>
<li class="unread">(ungelesen)</li>
</ul>
<input id="show_read" type="checkbox" checked onchange="toggle_display(this, 'hide_read')"> gelesene anzeigen<br>
<input id="show_spam" type="checkbox" checked onchange="toggle_display(this, 'hide_spam')"> Spam anzeigen
</body>
Ich sehe gerade, es ist noch nicht perfekt ('liste' sollte auch beim Aufruf übergeben werden), es funktioniert aber.