• ベストアンサー

指定したタグを書き換えるには?

document.all.tags("input")(1). を使って <form> <input> <input type="submit"> <input> <略> </form> の二番目のタグ<input type="submit">を書き換えるとします。 これを<input type="text" maxlength="200">に書き換えたり <input type="submit">を<textarea ごにょごにょ></textarea> に書き換えたりする方法はありませんでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

通常、エレメントオブジェクトを取得する場合、document.all.tags ではなく、document.getElementsByTagNameを使用した方がいいような 気がします。 あと、配列はパーレンではなくブラケットですよ。 var inp = document.getElementsByTagName('input')[1]; 下の方でIDを付与できないといっている理由は分かりませんが 順番が固定ならば以下のようにしてはどうでしょうか。 // 新しいエレメントを作成 var n_inp = document.createElement('input'); n_inp.type = 'text'; n_inp.maxLength = '200'; // 現在のエレメント取得 var inp = document.getElementsByTagName('input')[1]; // 新しいエレメントで古いエレメントを置き換える document.getElementsByTagName('form')[0].replaceChild(n_inp, inp); ただし、ブラウザなどの互換性を保証はしません。

idhokanohi
質問者

お礼

回答ありがとうございます! これを利用してがんばってみます メモ: var 新 = createElement(''); 新.属性 = '値'; 変更対象のエレメント取得 var 古 = 手段問わず; 親取得.replaceChild(A,B);//子要素のBをAにここではAに新Bに古

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • t032904
  • ベストアンサー率83% (5/6)
回答No.1

IDを利用するのはどうでしょうか。 ----JavaScript-------- function change(){ var id = "target"; document.all.item(id).innerHTML="<input type=\"text\" maxlength=\"200\">"; } ----body-------- <form> <input> <div id="target"> <input type="submit" value="submit"><br> </div> <input> </form> change()を呼び出すと、<div id="target">~</div>内が書き換わります。

idhokanohi
質問者

お礼

回答ありがとうございます。 ですが、事情がありまして、その方法は存じてますが使えません、 タグ自身を変更する方法はありませんでしょうか? html側の記述は<form>~</form>の前なら付け足せますが <form>以降は改変できません。 おそらくreplaceを使用するのだと思うのですが、この場合どうすればいいのかがわからなくて・・・ 補足:formや各inputには別々のnameが振ってあります

すると、全ての回答が全文表示されます。

関連するQ&A