[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
2022-08-01 15:56:40
質問
<p data-foo="bar">
と同等のことをするにはどうすればよいのでしょうか?
document.querySelectorAll('[data-foo]')
ここで クエリセレクターオール は 利用不可 ?
少なくともIE7で動作するネイティブなソリューションが必要です。IE6にはこだわらない。
どのように解決するのですか?
getElementsByTagName('*') を実行し、"data-foo" 属性を持つ要素のみを返す関数を書けばよいでしょう。
function getAllElementsWithAttribute(attribute)
{
var matchingElements = [];
var allElements = document.getElementsByTagName('*');
for (var i = 0, n = allElements.length; i < n; i++)
{
if (allElements[i].getAttribute(attribute) !== null)
{
// Element exists with attribute. Add to array.
matchingElements.push(allElements[i]);
}
}
return matchingElements;
}
では
getAllElementsWithAttribute('data-foo');
関連
-
[解決済み] JavaScriptでカンマを桁区切りにして数値を表示する方法
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] jQueryでドロップダウンリストの選択値を変更する
-
[解決済み] Node.jsでファイルをダウンロードする方法(サードパーティライブラリを使用しない)?
-
[解決済み] JavaScriptのソースマップ(.mapファイル)を利用するにはどうすればよいですか?
-
[解決済み] location.host vs location.hostnameとクロスブラウザの互換性?
-
[解決済み] jQueryを使わずに "data-xxx "属性の要素をすべて選択する
-
[解決済み】なぜ◎ܫ◎と☺はJavaScriptの変数名として有効ではないのでしょうか?
-
[解決済み】オブジェクトの最初のインデックスを取得する
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。