Я недавно задал вопрос здесь и получил отличный ответ (, на который я вскоре приму наиболее активный ответ, за исключением появления лучших альтернатив ), но, к сожалению, кажется, что из двух предложенных вариантов ни один из них не будет совместим с Ajax ( или любым динамически добавляемым контентом, включающим такой «inline-относительный jQuery» )
В любом случае, мой вопрос касается хорошего оле 'document.write()
.
Пока страница все еще отображается, она прекрасно работает; не так много, когда добавленный фрагмент содержит его. Существуют ли альтернативы, которые не уничтожат существующее содержимое страницы, но все же добавят строку в строку, например, в том месте, где происходит вызов?
Другими словами, есть ли способ / альтернатива document.write()
, который при вызове post-render не уничтожает существующее содержимое страницы? Аякс дружественная версия так сказать?
Вот куда я иду:
var _inline_relative_index = 0;
function $_inlineRelative(){
// i hate non-dedicated string concatenation operators
var inline_relative_id = ('_inline_relative_{index}').replace('{index}', (++_inline_relative_index).toString());
document.write(('<br id="{id}" />').replace('{id}', inline_relative_id));
return $(document.getElementById(inline_relative_id)).remove().prev('script');
}
А потом:
<div>
<script type="text/javascript">
(function($script){
// the container <div> background is now red.
$script.parent().css({ 'background-color': '#f00' });
})($_inlineRelative());
</script>
</div>