時々使いたくなるのだがいつも方法を忘れるのでメモ。MediaWikiの折り畳み機能を使ったページを印刷しようとしたら折り畳み部分が見えなくて困ったので、JSで全部開いてみました。chromeのコンソール等にコピペしやすい形にしています。
コード例
document.querySelectorAll(".mw-collapsible-content").forEach((e) => e.style.display = "block")
document.querySelectorAll(".mw-collapsible").forEach((e) => e.style.width = "100%")
document.querySelectorAll("pre").forEach((e) => e.style.whiteSpace = "pre-wrap")
補足
- IE11はNodeListにforEachが生えてなかったと思うので、いったん配列に乗せ換えるなどの対策が必要。これについてはいろんな方法があるのと、最新事情をあまり分かってないので適宜調べ直した方がよい。
- querySelectorAllの戻り値はNode Listというもので、ライブではないので、一度戻り値を保持した後にDOM要素が増えたりした場合、その増分を操作する際は再度querySelectorAllを呼ぶ必要がある。getElementsByXXX系はDOM要素の増減に応じて戻り値 (HTML Collection) の要素数が変わるので、そういう使い方をしたい場合はそちらを使うと良いらしい。