2017-08-28 3 views
1

、私はコードのこの部分を読んで:要素の種類を指定せずに要素を追加するにはどうすればよいですか?チュートリアルを見ると

if (response.messages instanceof Object) { 
    $.each(response.messages, function(index, value) { 
    var id = $("#" + index); 
    id 
     .closest('.form-group') 
     .after(value); 
    }); 
}); 

だから、それはフォームの各入力要素の後にメッセージを追加します。しかし、要素の種類を指定せずに要素を追加する方法を理解できません。この要素が追加される場所にはタグがありません。

+1

要素ではない可能性があります。それは単なる平文かもしれません。あなたは完全な実例を提供できますか? –

+0

それはidを持っているので、それは要素だと思った。 – annie

+0

'.after()'は、文字列 'value'から要素を作成する。 'value'は平文またはhtmlマークアップです.jqueryはそれを気にしません。 –

答えて

0

response.messagesが繰り返し処理され、その配列内の各項目がjQuery .afterに渡されます。これはHTML文字列を受け入れます。

indexパラメータは、その要素の配列内のインデックスになります。

response.messagesがある場合$('#0').closest('.form-group');

0

がここにドキュメントを見た後にそう['<p>test</p>'];<p>test</p>が追加され、単一の繰り返しがあるでしょう:(http://api.jquery.com/after/

など.prependなどの他のコンテンツの追加方法と同様に)と.before()と.after()は複数の引数を入力として渡すこともサポートしています。サポートされる入力には、DOM要素、jQueryオブジェクト、HTML文字列、およびDOM要素の配列が含まれます。

関連する問題