0

Chrome で要素の開始タグと終了タグの間に innerText を設定しようとしていますが、これまでのところ機能していません。何故ですか?私はこれらを試しました:

element.balanceText = "Changed.";
element.innerText = "Changed.";
element.innerHTML = "Changed.";
element.textContent = "Changed.";
element.value = "Changed.";
$(element).val("Changed.");

これがフィドルです:http://jsfiddle.net/La1tadpd/

4

2 に答える 2

2

jsFiddle はプレーンな JavaScript ではなく Coffee Script を使用するように構成されているため、エラーが発生します。

キャッチされていない SyntaxError: 予約語 "var"

入力タグは無効な HTML であるため、ブラウザーが作成する追加のテキスト ノードを削除し、入力要素を必要なテキストを含む div に置き換えることをお勧めします。

var element = document.getElementById('test');
element.nextSibling.parentNode.removeChild(element.nextSibling);

var div = document.createElement('div');
div.textContent = 'Changed.';

element.parentNode.replaceChild(div, element);
<input id='test'>Hello</input>

于 2014-10-15T16:36:23.583 に答える
1

入力は無効な要素です u はそれ以上のことはできません

カスタムコンテンツを持つことができ<input/>ないため、そうではないと書いています<input></input>

こちらのチュートリアルをチェックしてくださいhttp://naveendev.hol.es/tutorial/void-elements-in-html

NoModificationAllowedError: 'HTMLElement' で 'innerText' プロパティを設定できませんでした: 'input' 要素はテキストの挿入をサポートしていません。

空要素だから

于 2014-10-15T16:35:54.600 に答える