javascript で同じクラス名を使用してすべての要素を選択するにはどうすればよいですか。私はそれを使用できることを知っていますdocument.getElementsByClassName
が、クロスブラウザではないことをどこかで読んだので、jQueryや他のライブラリを使用せずにクラス名に応じて要素を選択する適切な方法は何ですか.
ありがとう!
javascript で同じクラス名を使用してすべての要素を選択するにはどうすればよいですか。私はそれを使用できることを知っていますdocument.getElementsByClassName
が、クロスブラウザではないことをどこかで読んだので、jQueryや他のライブラリを使用せずにクラス名に応じて要素を選択する適切な方法は何ですか.
ありがとう!
私はこのコードを見つけました:
if (!document.getElementsByClassName) {
document.getElementsByClassName = function(classname) {
var elArray = [];
var tmp = document.getElementsByTagName("*");
var regex = new RegExp("(^|\\s)" + classname + "(\\s|$)");
for (var i = 0; i < tmp.length; i++) {
if (regex.test(tmp[i].className)) {
elArray.push(tmp[i]);
}
}
return elArray;
};
}
ここを参照してください:
querySelectorの使用をお勧めします。これはより自然で、jQuery 構文に非常に近いため、ほとんどの人にとってより一般的です。また、非常に高速で、クラスや ID などを区別する必要がありません。
IE<7 をサポートしたい場合は、提供されている gdoron のような shim が必要です。
IE8 以降でサポートされている document.querySelector または document.querySelectorAll を使用する方がよい場合があります。
ここを見てください:
https://developer.mozilla.org/docs/Web/API/document.querySelector https://developer.mozilla.org/docs/Web/API/document.querySelectorAll