ホームページ >ウェブフロントエンド >jsチュートリアル >javascript getElementsByClassName と js アドレス バーのパラメータを取得する_javascript スキル

javascript getElementsByClassName と js アドレス バーのパラメータを取得する_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 18:37:30964ブラウズ

getElementsByClassName()
多くの HTML コードからツリー メニュー (おそらく複数) を見つけるために、まず className を通じて DOM ノードを見つけるメソッドを実装します: getElementsByClassName。これは、ブラウザのネイティブ DOM メソッドに対するシンプルですが便利な拡張機能です。

このメソッドには 2 つのパラメータがあります。ele は、どの DOM ノードが検索対象のルート ノードであるかを示します (つまり、ele の子ノードのみが見つかります)。className は、どの className を含める必要があるかを示します。条件を満たすノードのクラス属性。戻り値は、条件を満たすすべてのノードを格納する配列です。

コードをコピー コードは次のとおりです。

function getElementsByClassName(ele,className) {
/ /すべての子ノードを取得します
if(document.all){
var Children = ele.all;
}else{
var Children = ele.getElementsByTagName('*'); 🎜>}
//子ノードを走査し、className 属性を確認します。
var elements = new Array();
for (var i = 0; i var child = Children [i];
var classNames = child.className.split(' ');
for (var j = 0; j if ( classNames[j] = = className) {
elements[elements.length] = child;
}
}
要素を返す; >
vartrees = getElementsByClassName(document,'TreeView');


最初の if-else ステートメントは IE5 との互換性を目的としています (IE5 は
document.getElementsByTagName('*' を実行できません) ))。スクリプトの作成にはブラウザ検出メソッドを使用しないでください。代わりに、戻り値が null または未定義の場合は、ステートメントを直接使用してテストを実行する必要があることに注意してください。 。このようなスクリプトは互換性が高く、より堅牢になります。
elements[elements.length] = child;, この文もIE5との互換性のため、配列
のpushメソッドは使用していません。プッシュ メソッドを使用する必要がある場合は、getElementsByClassName()
を実行する前にプッシュ メソッドをオーバーロードできます。コードは次のとおりです:

Array.prototype.push = function(value){
this[this.length] = value;
} 注: 当初、getElementsByClassName も次のようにできることを期待していました。 Push メソッドのように記述されます。たとえば、
HTMLElement.prototype.getElementsByClassName = ....しかし実際に動作させてみると、
の実行時にHTMLElementオブジェクトが修正されていないことが分かり、それぞれのタグが違うようだったので断念しました。

アドレス バー パラメーターを取得します




コードをコピーします
コードは次のとおりです: // v1: var URLParams = new Array(); var aParams = document.location.search.substr(1).split('&');
for (i=0; i < aParams .length i ){
var aParam = aParams.split('=');
URLParams[aParam[0]] = aParam[1]}
;渡された名前パラメータ
name=URLParams['name'];

//v2:
Request = {
QueryString : function(item){
var svalue = location.search .match (new
RegExp('[?&]' item '=([^&]*)(&?)','i'));
return svalue[1] : svalue;
}
}
var key = Request.QueryString('key');

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。