マークアップを動的に追加したいこのWindowStoreアプリがありますが、問題は次のように要約できます。
働く
$('.some-element').append('<input type="radio"><label>Test</label>');
動作しない
$('.some-element').append('<input type="radio" name="test"><label>Test</label>);
VisualStudioは次のように言っています。
JavaScriptランタイムエラー:動的コンテンツを追加できません。スクリプトが動的コンテンツ、または以前に動的に変更された要素を挿入しようとしましたが、これは安全ではない可能性があります。たとえば、innerHTMLプロパティを使用してスクリプトまたは不正な形式のHTMLを追加すると、この例外が生成されます。toStaticHTMLメソッドを使用して動的コンテンツをフィルタリングするか、createElementなどのメソッドを使用して要素と属性を明示的に作成します。
そして、jQueryのappend実装の行を指します。
append: function() {
return this.domManip(arguments, true, function( elem ) {
if ( this.nodeType === 1 || this.nodeType === 11 ) {
this.appendChild( elem ); // Here!
}
});
}
これを回避する方法があるかどうか誰かが知っていますか?(テンプレートエンジンとしてJsRenderを使用したいので、jQueryが必要です)。