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;
};
}
はこちらを参照してください。
Support for getElementsByClassName
私はquerySelectorを使用することをお勧めします。より自然で、jQuery構文にかなり近いので、ほとんどのpplに共通しています。また、かなり高速で、クラス、IDなどを区別する必要はありません。
IE <をサポートしたい場合は、gdoronのようなシムが必要です。
これもとても素敵です、ありがとうございます。 –
IE8以降でサポートされているdocument.querySelectorまたはdocument.querySelectorAllを使用する方がよい場合があります。
はこちらをご覧:私はあなたがこの質問... http://www.google.co.uk/searchを依頼する最初の人物ではないと言うとき
https://developer.mozilla.org/docs/Web/API/document.querySelectorhttps://developer.mozilla.org/docs/Web/API/document.querySelectorAll
は私を信じますか? q = select + by + class + name + javascript – Matt
@Raj [querySelectorAll()](https://developer.mozilla.org/ja/DOM/Document.querySelectorAll)を試してみると、 'getElement ...() ' – Christoph