ブックマークレット(ブックマークに登録するJavaScript)のメモです。ブックマークやお気に入りに新しい項目を作成してURLにコードを貼り付けることで、処理を実行する項目を作成できます。
CSSセレクタに一致するA要素のリンク先をすべて開く。
クラスがclass-name
/IDがid
のA要素のリンク先をすべて開くコードです。filter(...)
は空リンク除去のために加えています。
javascript:[...document.querySelectorAll("A.class-name")].filter(elem => elem["href"]).forEach(elem => window.open(elem["href"]));
javascript:[...document.querySelectorAll("A#id")].filter(elem => elem["href"]).forEach(elem => window.open(elem["href"]));
CSSセレクタに一致する要素のinnerText
を列挙する。
クラスがclass-name
/IDがid
の要素のinnerText
を列挙するコードです。空行や余分な空白はtrim()
で除去しています。
javascript:alert([...document.querySelectorAll(".class-name")].map(elem => elem.innerText.trim()).join("\n"));
javascript:alert([...document.querySelectorAll("#id")].map(elem => elem.innerText.trim()).join("\n"));
タイトルのコピー
javascript:navigator.clipboard.writeText(document.title).then();
開いているタブのタイトル(TITLE要素の中身)をクリップボードにコピーします。 動作確認環境:Windows 10 64 bit, Google Chrome 69
選択範囲 in -> cm
javascript:navigator.clipboard.writeText(Number(getSelection())*2.54).then();
選択範囲のインチ単位の数値をセンチメートル単位に変換してクリップボードにコピーします。 動作確認環境:Windows 10 64 bit, Google Chrome 69
最初の.title要素のテキストに半角スペースを加えてクリップボードにコピー
ページの一番最初にあるクラスが.titleの要素のテキストに半角スペースを加えてクリップボードにコピーします。 動作確認環境:Windows 10 64 bit, Google Chrome 69
javascript:navigator.clipboard.writeText(document.querySelector('.title').textContent+' ').then();
最初のh1.title要素のテキストに半角スペースを加えてクリップボードにコピー
ページの一番最初にあるクラス.titleのH1要素のテキストに半角スペースを加えてクリップボードにコピーします。 動作確認環境:Windows 10 64 bit, Google Chrome 69
javascript:navigator.clipboard.writeText(document.querySelector('h1.title').textContent+' ').then();
ある属性に特定の値を持つクラスのn番目要素のある属性をコピー
javascript:navigator.clipboard.writeText(document.querySelector(".<class-name>[<attribute-name>=<attribute-value>]").getAttribute("<attribute2-name>"));