2013-04-29 3 views
0

Почему окно сообщения не отображается? Большое спасибо.Добавить элемент JS в тело

<!DOCTYPE html> 
<html> 
<head> 
    <script src="jquery-1.8.0.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $('<script>alert("hi");</' + 'script>').appendTo(document.body); 
    </script> 
</head> 
<body> 
    <span>my test</span> 
</body> 
</html> 
+0

Что вы действительно пытаетесь достичь? Сценарии обычно добавляются к элементу head, а не к элементу body для выполнения динамической загрузки, и обычно вы создаете элемент сценария и указываете URL '.src', а затем добавляете его в элемент head. – jfriend00

+0

Скрипты могут быть либо в голове, либо в теле, я не думаю, что это имеет значение. – Barmar

+0

нормально, у меня проблема с CMS, которая добавляет и «addthis.com» javascript на страницу с неправильными настройками. Этот скрипт живет внутри элемента body, и мне нужно добавить другой скрипт в конец элемента body, который изменит один из свойств скрипта. Решение объясняется здесь: http://support.addthis.com/customer/portal/questions/352733-how-to-remove-hash-from-url-, и, к сожалению, он не работает, когда я использую $ (документ) .ready(). – lekso

ответ

3

Вы должны обернуть его в $(document).ready.

В противном случае он не сможет найти body, так как он еще не загружен.

$(document).ready(function() { 
    $('<script>alert("hi");</' + 'script>').appendTo(document.body); 
}) 
+0

спасибо. Я отмечаю это как решение, хотя моя проблема все еще не решена. Не могли бы вы посмотреть здесь: http://stackoverflow.com/questions/16283707/addthis-ads-a-hashtag-and-id-to-url-how-to-remove-it – lekso