Je fait un bookmarklet pour replier chaque ligne d'une table, à l'exception du premier, puis faire la première rangée bascule/montrer le reste de la table:bookmarklet ouvre de façon inattendue nouvelle page, cliquez
javascript:(function(){
function open(tableid){
console.log('open');
for (j=1;j<table[tableid].rows.length;j++){
if(table[tableid].rows[j].style.display == 'none'){
table[tableid].rows[j].style.display = '';
} else if(table[tableid].rows[j].style.display == ''){
table[tableid].rows[j].style.display = 'none';
}
}
}
var table = document.getElementsByTagName("table");
for (i=0;i<table.length;i++){
for (j=0;j<table[i].rows.length;j++){
if(j != 0){
table[i].rows[j].style.display = 'none';
}
if(j == 0){
table[i].rows[j].onclick = new Function("open("+i+")");
}
}
}
})();
I lancez ceci sans javascript: (function() {}() dans la console de firebug, et ça marche bien, mais quand je l'utilise comme bookmarklet, chaque fois que je clique sur la première ligne pour afficher la table, ça ouvre juste une nouvelle le '0' (ie website.com/0)