JS-classクラス名の要素を取得する-【getClass】関数パッケージ
4849 ワード
原理:
/**classに基づいて要素を取得します.*原理は、oparentの下のすべての要素を取り出し、配列を構成し、クラス名、全等判断を遍歴することです.*/
ソースコード
関数呼び出し
コードの説明:
function getClass(oParent,clsName){var boxArr=new Array();//boxArrは、取得したすべてのclassがclsNameの要素oElements=oParent.getElementsByTagName('*');//oElementsは、親要素の下にあるすべての要素を格納するために使用され、集合for(var i=0;i//ループループ取得したoElements配列if(oElements[i].className==clsName){//判断配列では、要素のクラス名が伝えられた取得したいクラス名と一致するとboxArr.push(oElements[i]);//配列のpush機能で対応する要素を入れる}}return boxArr;//最後の結果をポップアップする}
________________________________________________________________________________________________________2017-05-21 18:35:10
反対側jsを豊かにする
説明:
var oUL = document.getElementById("ul1");
//必要なclassを探す親要素を取得
var oLi = getByClass(oUL,"li_box");
//サブエレメントたちを関数から返された配列に等しくします.実際にgetElementsByTagNameで直接取得したのも要素の集合です.今は1つの配列に直接等しいので、使える方法と属性はもっと多いですね.ついでに関数を呼び出して参照します.パラメータは、親要素の変数と検索するクラス名です.
for(var i=0;i
//ループ弾き出す配列、つまり「li_box」というクラスのli
//次に、クラス名が必要な要素を直接やりたいことをします.例えば:oLi[i].style.background = "red"
————————————————————————————————————————2018年修復バグ—————————————————————————————————————————————————————
この書き方は、主にclassNameを持つ要素の上に別のclassNameがある場合、以前のプログラムはできないので、splitで要素のクラス名を切って、比較します.
ここでboxArr.pushでは、間違って考えていたclassNameArr[j]と書いてありましたが、boxArrは最後に文字列配列であり、要素配列ではないことがわかりましたので、oElements[i]に変更すればいいのです.
宣言:
ブログ園のオリジナル精神を尊重し、転載または使用画像を明記してください.
ブロガー:xing.org1^
出典:http://www.cnblogs.com/padding1015/
time: 20180106 20:28:32
/**classに基づいて要素を取得します.*原理は、oparentの下のすべての要素を取り出し、配列を構成し、クラス名、全等判断を遍歴することです.*/
ソースコード
1 1 function getClass(oParent,clsName){
2 var oParent = document.getElementById(oParent);
3 2 var boxArr = new Array();
4 3 oElements = oParent.getElementsByTagName('*');
5 4 for(var i=0;i){
6 5 if(oElements[i].className == clsName){
7 6 boxArr.push(oElements[i]);
8 7 }
9 8 }
10 9 return boxArr;
11 10 }
関数呼び出し
getClass(oParent,clsName);
コードの説明:
function getClass(oParent,clsName){var boxArr=new Array();//boxArrは、取得したすべてのclassがclsNameの要素oElements=oParent.getElementsByTagName('*');//oElementsは、親要素の下にあるすべての要素を格納するために使用され、集合for(var i=0;i//ループループ取得したoElements配列if(oElements[i].className==clsName){//判断配列では、要素のクラス名が伝えられた取得したいクラス名と一致するとboxArr.push(oElements[i]);//配列のpush機能で対応する要素を入れる}}return boxArr;//最後の結果をポップアップする}
________________________________________________________________________________________________________2017-05-21 18:35:10
反対側jsを豊かにする
1
<span style="color:#008080;">2</span> window.onload = <span style="color:#0000ff;">function</span><span style="color:#000000;">(){
</span><span style="color:#008080;">3</span> <span style="color:#0000ff;">var</span> oUL = document.getElementById("ul1"<span style="color:#000000;">);
</span><span style="color:#008080;">4</span> <span style="color:#0000ff;">var</span> oLi = getByClass(oUL,"li_box"<span style="color:#000000;">);
</span><span style="color:#008080;">5</span> <span style="color:#0000ff;">for</span>(<span style="color:#0000ff;">var</span> i=0;i<oLi.length;i++<span style="color:#000000;">){
</span><span style="color:#008080;">6</span> oLi[i].style.background = "red"
<span style="color:#008080;">7</span> <span style="color:#000000;"> }
</span><span style="color:#008080;">8</span> <span style="color:#000000;"> }
</span><span style="color:#008080;">9</span>
説明:
var oUL = document.getElementById("ul1");
//必要なclassを探す親要素を取得
var oLi = getByClass(oUL,"li_box");
//サブエレメントたちを関数から返された配列に等しくします.実際にgetElementsByTagNameで直接取得したのも要素の集合です.今は1つの配列に直接等しいので、使える方法と属性はもっと多いですね.ついでに関数を呼び出して参照します.パラメータは、親要素の変数と検索するクラス名です.
for(var i=0;i
//ループ弾き出す配列、つまり「li_box」というクラスのli
//次に、クラス名が必要な要素を直接やりたいことをします.例えば:oLi[i].style.background = "red"
————————————————————————————————————————2018年修復バグ—————————————————————————————————————————————————————
function getClass(oParent,clsName) {
var oParents = document.getElementById(oParent);
var boxArr = new Array();
var oElements = oParents.getElementsByTagName('*');
for(let i=0;i
この書き方は、主にclassNameを持つ要素の上に別のclassNameがある場合、以前のプログラムはできないので、splitで要素のクラス名を切って、比較します.
ここでboxArr.pushでは、間違って考えていたclassNameArr[j]と書いてありましたが、boxArrは最後に文字列配列であり、要素配列ではないことがわかりましたので、oElements[i]に変更すればいいのです.
宣言:
ブログ園のオリジナル精神を尊重し、転載または使用画像を明記してください.
ブロガー:xing.org1^
出典:http://www.cnblogs.com/padding1015/
time: 20180106 20:28:32