私のテキストフィールドの後にテキストを挿入したいのですが、innerHTMLを使用することができません。私のHTMLコードはこのようになりますテキストフィールド(フォーム)の後にノードを挿入
<label for="name">Firstname:</label>
<input type="text" name="Name:" id="name" size="40" />
ありがとうございます!
私のテキストフィールドの後にテキストを挿入したいのですが、innerHTMLを使用することができません。私のHTMLコードはこのようになりますテキストフィールド(フォーム)の後にノードを挿入
<label for="name">Firstname:</label>
<input type="text" name="Name:" id="name" size="40" />
ありがとうございます!
あなたの質問は、私には全く明らかではないが、私はこれがそれだと思うので、私は、これはあなたが求めているものであるかどうかわからないんだけど:
var nameInput = document.getElementById('name');
var textNode = document.createTextNode('Some Text');
nameInput.parentNode.insertBefore(textNode, nameInput.nextSibling);
することができますinsertAfter
メソッドを使用します。
function insertAfter(element, after) {
element.parentNode.insertBefore(after, element.nextSibling);
}
があなたの<input>
要素の後に新しいテキストノード(document.createTextNode(myText)
)を挿入します。
チェック次のリンクは、それはあなたに
http://www.ahfb2000.com/webmaster_help_desk/showthread.php?t=6626
+1を助けるかもしれないが、これは動作しませんなぜあなたは説明できますか? 'nameInput.parentNode.insertAfter(textNode、nameInput);'? –
@AdamRackis DOMElementのinsertAfter関数は、デフォルトでJavaScript – Paulpro
にあります。明らかにjQueryはネイティブDOMの多くを知らないようにしています:) –