• ベストアンサー

JavaScriptで全ての要素を抽出したい

すべてのフォーム部品を抽出するには for (var i=0; i<document.forms[0].length; i++) { } とすればよいのですが、imgなどフォーム部品以外も全ての要素を 抽出したい場合はどうすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#18558
noname#18558
回答No.1

var tags = document.getElementsByTagName("*"); これでどうでしょうか。

nihon_no_samurai
質問者

お礼

ありがとうございます”!

関連するQ&A

  • javascriptでフォーム部品の参照番号を直接取得する方法はありますか?

    現在、下記のようにして参照番号を取得しています(o=フォーム部品)。 フォームの部品数が多くなると、時間が多くかかってしまいます。 直接参照番号を取得する方法があったらおしえてください。 for (i=0;i<o.form.length;i++) { if (document.forms[i].elements[i] == o){alert(i);break;} }

  • [JS] あるクラス名をページからすべて削除したい

    ページ内のすべてのタグから、例えば"aaa"というクラス名を削除したいです。 単純に以下のようにしてみました。 var elms = document.getElementsByClassName("aaa"); for ( var i = 0; i < elms.length; i++ ) { elms[i].removeClassName("aaa"); } この場合、firefoxではremoveClassNameする度に、elmsから動的に要素が削除されてしまいます。 そこで、以下のようにしましたが、IEではelmsから要素が減らないため、無限ループになってしまいます。 var elms = document.getElementsByClassName("aaa"); while ( elms.length > 0 ) { elms[0].removeClassName("aaa"); } どうやって削除するのがよいのでしょうか??

  • javascript

    var sum = function(){ var result = 0; for(var i = 0; i < arguments.length; i++){ var tmp = arguments[i]; result += tmp; } return result; } document.writeln(sum(1, 3, 5, 7, 9)); このプログラムと function sum(){ var result = 0; for(var i = 0; i < arguments.length; i++){ var tmp = arguments[i]; result += tmp; } return result; } document.writeln(sum(1, 3, 5, 7, 9)); このプログラムでは実行結果は同じですが、 どちらのほうが良いプログラムなのでしょうか?

  • フォームの要素同士の足し算

    こんにちは。フォームの要素同士の足し算をJavascriptで行おうとしているのですが、要素を文字列と解釈するらしく、うまく演算ができません。。。。 function calcTOTAL(){ var a=10; var b=20; var c=a+b; // この場合は30で演算もOK var sub0; var sub1; if(isNaN(document.forms[0].elements['aaa'].value)){ sub0=0; }else{ sub0 = document.forms[0].elements['aaa'].value; } if(isNaN(document.forms[0].elements['bbb'].value)){ sub1=0; }else{ sub1 = document.forms[0].elements['bbb'].value; } var c=sub0+sub1; // これは文字列同士になってしまう。。。 } どちらも数字でなければ 0 が入って 0+0になるはずなのですが 結果は 00 になってしまいます。 どのように修正したら 数字同士の演算ができるようになるのでしょうか?

  • ネスケで文字化けするjavascript

    下記はenterキーを押した時に次のテキストボックスなどにフォーカスを移動するjavascriptです。しかし、ネスケだとテキストボックスに入力した文字が文字化けしてしまいます。 <!-- ns4 = (document.layers)? true:false ie4 = (document.all)? true:false function cf() { for (i = 0; i < document.forms[0].elements.length; i++) { if ((ns4) && (document.forms[0].elements[i].type != "hidden") || (ie4) && (document.forms[0].elements[i].type != "hidden" )) { document.forms[0].elements[i].focus() break } } } function keyDown(e) { if (ns4) {PKey=e.which; el = e.target.type ; sk = e.modifiers} if (ie4) {PKey=event.keyCode; el = event.srcElement.tagName; sk = event.shiftKey} if (PKey == "13") { if (el.toLowerCase() != "textarea") { keyDowntest(e) return false; } else { if ((ns4) && (sk == '4') || (ie4) && (sk)) { keyDowntest(e) return false; } } } } function keyDowntest(e) { for (var i = 0; i < document.forms[0].elements.length; i++) { if ((ie4) && (document.forms[0].elements[i] == event.srcElement) || (ns4) && (document.forms[0].elements[i] == e.target)) { if ((i + 1) == document.forms[0].elements.length) document.forms[0].elements[0].focus() else for (; i < document.forms[0].elements.length; i++) { if ((ns4) && (document.forms[0].elements[i+1].type != "hidden") || (ie4) && (document.forms[0].elements[i+1].type != "hidden" )) { document.forms[0].elements[i+1].focus() break } } break } } } document.onkeydown = keyDown if (ns4) document.captureEvents(Event.KEYDOWN) //-->

  • HTML文書のタグの属性をjavascriptで抜き出す。

    はじめまして。 現在javascriptでHTML文書にある要素の属性名を抜き出すロジックを 考えているのですが、詰まっています。 例えば <form name="A" action="B"> という要素があった場合にその属性名「name」「action」を抜き出したいのです。 HTML文書にある要素名を抜き出すロジックは何とか出来ました。 以下がその関数です。 -------ここから------- function test() { kazu=document.all.length //文書の要素数を設定 var tagname='' for(i=0; i<kazu; i++){ tagname=tagname+document.all(i).nodeName+'\n' //要素名を抜き出す。 } document.send.aa.value=tagname //フォーム部品に結果をセットする。 } ------ここまで----------- 要素名を抜き出している部分は document.all(i).nodeName とかけましたが 属性名を抜き出すのは document.all(i).attributes… のように書くんだろうな… と予測して実行したのですがエラーがでました。 DOM文書を読んでみたのですがいまいちピンときません。 どなたが教えていただけませんか? 使用しているブラウザはWindowsのIE5.5です。

  • JavascriptでSELECT要素の先頭に追加

    JavascriptでHTML上のSELECT要素のOPTIONをはき出しています。 obj = document.forms[formid].elements[elementsid]; var wkLength = 50; for(i=1;i<wkLength;i++){ obj.options[i].value = i; obj.options[i].text = i + '個'; } ***** <-ここで「obj.options」の先頭に追加したい このリストの先頭にvalue=""、text="▼"をfor文の後で挿入したいと考えています。 配列の先頭に追加する「unshift」のような構文で、for文の後に記述できる方法はありますか? よろしくお願いします。

  • 正規表現をまとめることってできますか?

    正規表現をまとめるにはどうしたらよいでしょうか? var str = document.forms[0].school_list.value; if (str == "") return; var result = ""; for (var i = 0; i < str.length; i++) result = str.replace(/,/g,'\n'); document.forms[0].result_school_list.value = result; document.forms[0].result_school_list.select(); var str = document.forms[0].result_school_list.value; if (str == "") return; var result = ""; for (var i = 0; i < str.length; i++) result = str.replace(/、/g,'\n'); document.forms[0].result_school_list.value = result; document.forms[0].result_school_list.select();

  • javascriptのcanvasについて

    先日こちらで質問させて頂き、頂いた回答をもとに javascriptのcanvasについて勉強を続けていて、 canvasを2つ重ねたカラーシミュレーションのようなものを作りたいと考えています。 先日教えて頂いた内容をもとに 下記のような記述で2枚目のcanvasの画像を入れ替えることや、 色を変更することは出来ました。 ただ、「進む」ボタンや「戻る」ボタンを押したときに 色がもとの色に戻ってしまうので、色は固定されたまま(この記述でいうと茶色や赤)で 画像を入れ替える方法がわからずにいます。 なにか良い方法はないでしょうか。 <style type="text/css"> .canvas001 { position: absolute; top:100px; left:0px; } .canvas002{ position: absolute; top:100px; left:0px; } </style> <script> onload = function() { image1(); image2(); image3();}; function image1() { var cnvs = document.getElementById('canvas1'); var ctx = cnvs.getContext('2d'); var img = new Image(); img.onload = function() { ctx.drawImage(img, 0, 0); }; img.src = "face.png"; }; function image2() { var cnvs = document.getElementById('canvas2'); var ctx = cnvs.getContext('2d'); var img = new Image(); img.onload = function() { ctx.drawImage(img, 0, 0); }; img.src = "hair1.png"; }; var src = [  'hair1.png',  'hair2.png',  'hair3.png' ]; var currentIndex = 0; var currentImage; function hair(){ var img = currentImage = new Image(); img.onload = function() { if(currentImage === img){ var cnvs = document.getElementById('canvas2'); var ctx = cnvs.getContext('2d'); ctx.clearRect(0, 0, cnvs.offsetWidth, cnvs.offsetHeight); ctx.drawImage(img, 0, 0); } }; img.src = src[currentIndex]; } window.back = function(){ currentIndex = (currentIndex - 1 + src.length) % src.length; hair(); } window.foward = function(){ currentIndex = (currentIndex + 1) % src.length; hair(); } function black(){ var ctx = document.getElementById("canvas2").getContext("2d"); var imagedata = ctx.getImageData(0,0,300,300); var idata = imagedata.data; var num = idata.length; var pix = num / 4; for ( var i = 0 ; i < pix ; i++ ){ var r = idata[ i*4 ]; var g = idata[ i*4 + 1 ]; var b = idata[ i*4 + 2 ]; idata[ i*4 ] = 35; idata[ i*4 + 1 ] = 24; idata[ i*4 + 2 ] = 21; } ctx.putImageData(imagedata,0,0); } function brown(){ var ctx = document.getElementById("canvas2").getContext("2d"); var imagedata = ctx.getImageData(0,0,300,300); var idata = imagedata.data; var num = idata.length; var pix = num / 4; for ( var i = 0 ; i < pix ; i++ ){ var r = idata[ i*4 ]; var g = idata[ i*4 + 1 ]; var b = idata[ i*4 + 2 ]; idata[ i*4 ] = 140; idata[ i*4 + 1 ] = 96; idata[ i*4 + 2 ] = 37; } ctx.putImageData(imagedata,0,0); } function red(){ var ctx = document.getElementById("canvas2").getContext("2d"); var imagedata = ctx.getImageData(0,0,300,300); var idata = imagedata.data; var num = idata.length; var pix = num / 4; for ( var i = 0 ; i < pix ; i++ ){ var r = idata[ i*4 ]; var g = idata[ i*4 + 1 ]; var b = idata[ i*4 + 2 ]; idata[ i*4 ] = 182 ; idata[ i*4 + 1 ] = 0; idata[ i*4 + 2 ] = 5; } ctx.putImageData(imagedata,0,0); } </script> <body> <div> <div class="canvas001"><canvas id="canvas1" height="300"></canvas></div> <div class="canvas002"><canvas id="canvas2" height="300"></canvas></div> </div> <div> <form><div> <INPUT TYPE=button NAME="submit" VALUE="戻る" onClick="back()"> <INPUT TYPE=button NAME="submit" VALUE="進む" onClick="foward()"> </div></form> </div> <img src="btn_black.png" onclick="black()" > <img src="btn_brown.png" onclick="brown()" > <img src="btn_red.png" onclick="red()" > </body>

  • imgのaltとtitleの要素を抜き出したい

    お世話になっております。サウナマンと申します。 var allImages = window.document.getElementsByTagName("img"); for (i = 0; i < allImages.length; i++){ var s = allImages[i].src; var w = allImages[i].width; var h = allImages[i].height; var a = allImages[i].alt; } ↑上記のコードにて画像の、パス、幅、高さ、は取得できるのですが ALTの内容がうまくとれません。どのように参照したらよいのか 教えていただけませんでしょうか。 また、titleの値の場合はどのようにすれば取得できるのでしょうか? ※このJSはGreasemonkeyで使用します。

専門家に質問してみよう