Почему я получаю эту ошибку JS? - PullRequest
3 голосов
/ 11 мая 2011

Это ошибка:

Uncaught SyntaxError: Unexpected token ILLEGAL
d.d.extend.globalEvaljquery-1.5.1.min.js:16
d.ajaxSetup.converters.text scriptjquery-1.5.1.min.js:16
bQjquery-1.5.1.min.js:16
vjquery-1.5.1.min.js:16
d.support.ajax.d.ajaxTransport.send.c

Вот jQuery:

$("div#notif_js").html(' ');

$("div#notification_box").html('<div class="notification">
  <p><img alt="Justin meltzer" class="feed_image_notif" src="/system/photos/46/tiny/Justin Meltzer.jpeg?1303109121" /> JMeltz 
   added a comment to <b>second</b> by <img alt="Justin meltzer" class="feed_image_notif" src="/system/photos/45/tiny/Justin Meltzer.jpeg?1303109101" /> Justin Meltzer</p>
  <a href="/videos/506"></a>
</div>
<div class="notification">
  <p><img alt="Justin meltzer" class="feed_image_notif" src="/system/photos/46/tiny/Justin Meltzer.jpeg?1303109121" /> JMeltz 
   added a comment to <b>second</b> by <img alt="Justin meltzer" class="feed_image_notif" src="/system/photos/45/tiny/Justin Meltzer.jpeg?1303109101" /> Justin Meltzer</p>
  <a href="/videos/506"></a>
</div>
<div class="notification">
  <p><img alt="Justin meltzer" class="feed_image_notif" src="/system/photos/46/tiny/Justin Meltzer.jpeg?1303109121" /> JMeltz 
   added a comment to <b>second</b> by <img alt="Justin meltzer" class="feed_image_notif" src="/system/photos/45/tiny/Justin Meltzer.jpeg?1303109101" /> Justin Meltzer</p>
  <a href="/videos/506"></a>
</div>
<div class="notification">
  <p><img alt="Justin meltzer" class="feed_image_notif" src="/system/photos/46/tiny/Justin Meltzer.jpeg?1303109121" /> JMeltz upvoted bhbu </p>
   <a href="/videos/505"></a>  
</div>      
<div class="notification">
  <p class= "all_notifications">All Notifications</p>
  <a href="/videos/notification_go"></a>
</div>');

Ответы [ 2 ]

1 голос
/ 11 мая 2011

Javascript не позволяет иметь несколько строк внутри ваших строк.Вам нужно либо преобразовать каждую строку в \ n, например, так:

$("div#notification_box").html('line1\nline2');

или поставить перед концом каждой строки символ '\', например:

$("div#notification_box").html('line1\
line2');

ПервыйПохоже, этот метод используется чаще, хотя, на мой взгляд, второй метод выглядит лучше.

Кроме того, хороший и простой способ проверить наличие ошибок javascript - запустить его через разделитель javascript, например http://www.javascriptlint.com/online_lint.php или http://www.jslint.com/ (хотя jslint не сообщает об ошибке так же хорошо, как javascriptline).


0 голосов
/ 11 мая 2011

Это работает для меня, используя jQuery 1.5.2 +

http://jsfiddle.net/XSAb2/

РЕДАКТИРОВАТЬ: Я преобразовал строку в строку в одну строку, потому что я думал, что это просто форматирование StackOverflow, что заставило несколько строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...