2011-01-25 4 views
1

Я проверяю, включен ли jQuery в документ. Если нет, я хочу создать элемент после закрытия тега body.Как создать элемент после закрытия тега body

<script type="text/javascript"> 
if(!(typeof jQuery === 'function')){ 
    var script = document.createElement('script'); 
    script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js'; 
    script.type = 'text/javascript'; 
    var head = document.getElementsByTagName("head")[0]; 
    head.appendChild(script); 
} 
</script> 

Если я делаю это с тегом тела, он присоединяет его к верхней части. Я хочу либо добавить его в конец тега тела, либо сразу после его закрытия.

Пожалуйста, помогите.

ответ

4

Использовать document.body.appendChild(). Он добавит элемент в конец тега body.

Кстати, jAndy прав, нет необходимости добавлять файл javascript динамически в конце тела.

+0

Спасибо! Это сработало. Я не знал, что appendChild добавлен внизу. – Aayush

4

Я предполагаю, что вы хотите это сделать, потому что когда-либо говорят, что важно разместить <script> узлы на уровне от <body>. Это правильно для «нормальных» тегов скриптов, но в вашем случае это динамически вставленный узел сценария, поэтому он загружает asyncronously. Обычный скриптовый тег блокируется при выполнении Javascript, поэтому вы должны поместить их в конец вашего документа.

Но в вашем случае проблем нет.

+0

Действительная точка. Благодарю. Хотя я все равно оставил его после тела. – Aayush

0

Причина, по которой JavaScript должен быть в конце документа, состоит в том, чтобы отложить его загрузку как можно дольше. Если вы включите свой код выше в нижней части документа, вы должны добиться такого же эффекта, и тогда не имеет значения, где в исходном коде он включен.

Смежные вопросы