javaScriptを触り始めてまだ1週間の初心者です。
どうぞ熟練者の皆様、お知恵を貸して下さい。
「色々な種類のタグに指定されたIdから指定範囲("ABC"or"XYZ" + 000~999 の任意6文字)に当てはまるIdをHTMLファイルの前から順に取得し、それを配列にセットする」と言った関数を作りたいと思っています。
とりあえずIEではdocument.allを使用してそれらしく動いているのですが、これをNN環境でも動かしたいのです。NNで動くようにするにはどこに手を加えたら良いのでしょうか?それとも関数の作り自体変えるべきなのでしょうか?
良い解決策がありましたらお願いいたします。
該当部↓
var gArrayId = new Array();
function getSpanIDInfo()
{
var intMaxNo = 0;
var intIndex = 0;
//配列宣言のため、まずは総数を調べる。
for ( var item in document.all ) {
// IDに"ABC"、"XYZ"を含むタグを見つける
if((item.indexOf("ABC") != -1) || (item.indexOf("XYZ") != -1)) {
intMaxNo = intMaxNo + 1;
}
}
//カウント終了したらその数でID情報配列作成
gArrayId = Array(intMaxNo - 1);
//作成した配列にIDを保存
for ( var item in document.all ) {
// "ABC"、"XYZ"を含むタグを見つける
if((item.indexOf("ABC") != -1) || (item.indexOf("XYZ") != -1)) {
// 見つけた順に保存
gArrayId[intIndex] = item.substring(0,7);
intIndex = intIndex + 1;
}
}
return intMaxNo;
}
No.1ベストアンサー
- 回答日時:
NNというかNetscape 6以降になってしまいますが、総数を調べるループはこんな感じでしょうか。
elm = document.getElementsByTagName("*");
for ( i = 0; i < elm.length; i++) {
// IDに"ABC"、"XYZ"を含むタグを見つける
var item = elm[i].id;
if((item.indexOf("ABC") != -1) || (item.indexOf("XYZ") != -1)) {
intMaxNo = intMaxNo + 1;
}
}
配列にIDを保存する処理、ブラウザ振り分け処理は省略しても大丈夫とお見受けしました。
mrumesukeさま、ありがとうございました!
書きそびれていたのですが、Netscape6以降で動いてくれればそれで良かったので、おかげさまでバッチリ動作しております。
length…なるほど、こんな応用が…。
三日間回答が無かったらこの処理は諦めようと思っていましたので、とても助かりました。
本当にありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript gasについて 1 2022/05/31 21:51
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムについて。
-
ジャバスクリプトについて。
-
①入力フォーム→②確認表示画面→③...
-
指定時間になったら、WEBサイト...
-
アップロードファイルの種類に...
-
スマホ上で、左右スワイプで次...
-
jQueryで同じクラス名のものを...
-
jsで質問です。 displayプロパ...
-
【Google Apps Script】「ライ...
-
階層別の組織図の自動作成について
-
特定の文字列を複数抜き出した...
-
セレクトを全て選択されていな...
-
二次元配列の全要素の全要素を...
-
読み込んだQRコードをフォーム...
-
初心者です。gulpでコンパイル...
-
セレクトボックスで配列を呼び...
-
Googleフォームで選択肢に応じ...
-
変数名をどのようにつけるのが...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
-
jsで質問です。 displayプロパ...
-
画面遷移を行わずに同一ページ...
-
Googleフォームで選択肢に応じ...
-
特定の文字列を複数抜き出した...
-
フロントエンドフレームワーク...
-
変数名をどのようにつけるのが...
-
【JS】selectでchangeした時の...
-
React hooksが値を返して配列変...
-
オブジェクトから任意のプロパ...
-
指定時間になったら、WEBサイト...
-
Colorboxがうまく設置できません
-
二次元配列の中の各行の要素を...
-
読み込んだQRコードをフォーム...
-
IndexedDB を使ってファイルア...
-
HTMLで作った時報アプリが動き...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
-
①入力フォーム→②確認表示画面→③...
おすすめ情報