Вы путаете две разные функции, которые обе называются after
.
Когда вы вызываете $(something).after()
, вы вызываете метод jQuery after
, который говорит:
HTML-строка, элемент DOM, текстовый узел, массив элементов и текст узлы или объект jQuery для вставки после каждого элемента в наборе соответствующих элементов.
blockquote>Когда вы вызываете
$(something)[index].after()
, вы извлекаете элемент DOM из объекта jQuery и вызываете метод DOMafter
, который сообщает:[1113 ] Объекты DOMString вставляются как эквивалентные текстовые узлы.blockquote>
Используйте
$(something).eq(index)
, чтобы получить объект jQuery, содержащий одно из совпадений, если вы хотите использовать метод jQueryafter
.
Используйте <includeonly>
отметьте, если Вы уже не сделали и удостоверяетесь, что не поместили какие-либо возвраты в свой шаблон перед </includeonly>
Так
<includeonly>This is a template. </includeonly>
делает {{Шаблон}} {{Шаблон}} вывод как
This is a template. This is a template
Но,
<includeonly>This is a template.
</includeonly>
делает {{Шаблон}} {{Шаблон}} вывод как
This is a template.
This is a template
Даже единственные возвраты опасны. Если шаблон A содержит:
<includeonly>{{B}}
</includeonly>
и шаблон B содержит:
<includeonly>Text
</includeonly>
затем, когда Вы вставляете в Вашу страницу, оба возврата являются последующими и дают конец абзаца.