2012-05-10 2 views
-2

Я знаю, что это что-то легко, но я просто не могу видеть его Может кто-нибудь сказать мне, почему я получаю сообщение об ошибке «missing } after property list» для следующего кода:Почему я получаю этот недостаток} после ошибки списка свойств? . :(

<script type="text/javascript"> 

$(".single_image").live("click", function() { 
    jwplayer().load({ 
     file: 'utubeurl' 
    }); 
});​ 

</script> 

весь код является ниже:

  $(xml).find('item').each(function(i){ 
       var current=$(this); 
       var ttl=current.find('title:first').text(); 
       var thum=current.find('thumbnail:first').text(); 
       var cat=current.find('category:first').text().split(','); 
       var desc = current.find('description:first').text(); 
       var utubeurl = current.find('youtubeurl:first').text(); 
       var fbshareurl = current.find('facebookshareurl:first').text(); 
       var twturl = current.find('twitterurl:first').text(); 
       var nbcurl = current.find('nbcsiteurl:first').text(); 

       var item = { 
        title:ttl, 
        thumbnail:thum, 
        category:cat, 
        description:desc, 
        youtubeurl:utubeurl, 
        facebookshareurl:fbshareurl, 
        twitterurl:twturl, 
        nbcsiteurl:nbcurl, 
        obj:$('<div class="'+options.itemClass+'"><a id="'+parentId+'" class="single_image" title="'+desc+'"><script type="text/javascript"> $(".single_image").live("click",function(){ jwplayer().load({file:'+utubeurl+'}); }); </script><img src="'+thum+'" /></a><div class="show_lightbox_title"><strong>'+ttl+'</strong></div><ul id="social"><li><iframe src="'+fbshareurl+'" class="iframe_style" scrolling="no" frameborder="0" allowtransparency="true"/></li><li><a class="twtbtn" href="'+twturl+'" target="_blank"><img src="images/twitter_btn.gif"></a></li><a class="nbcbtn" href="'+nbcurl+'" target="_blank"><img src="images/showPages_btn.gif"></a></div>') 
       }; 
       shows.push(item); 
      }); 
+0

Я не вижу ничего неправильного. Это правильно? http://jsfiddle.net/dsummersl/n9Vuk/ – dsummersl

+0

Является ли тег «xml» по этому вопросу релевантным? – nnnnnn

+0

Если я скопирую исходный код, я не получу никакой ошибки ... нет ничего плохого в том, что вы опубликовали. –

ответ

2

Вы должны процитировать ваше значение свойства, здесь:

obj:$('<div class="'+options.itemClass+'"><a id="'+parentId+'" class="single_image" title="'+desc+'"><script type="text/javascript"> $(".single_image").live("click",function(){ jwplayer().load({file:'+utubeurl+'}); }); </script><img src="'+thum+'" /></a><div class="show_lightbox_title"><strong>'+ttl+'</strong></div><ul id="social"><li><iframe src="'+fbshareurl+'" class="iframe_style" scrolling="no" frameborder="0" allowtransparency="true"/></li><li><a class="twtbtn" href="'+twturl+'" target="_blank"><img src="images/twitter_btn.gif"></a></li><a class="nbcbtn" href="'+nbcurl+'" target="_blank"><img src="images/showPages_btn.gif"></a></div>') 

... это:

'... jwplayer().load({file:'+utubeurl+'}); ...' 

... должно быть:

'... jwplayer().load({file:"'+utubeurl+'"}); ...' 

... обратите внимание на дополнительные кавычки. Не уверен, что если добавление этих котировок приведет к поломке вашей строки looooooooong (трудная для чтения/поддержки), вам может понадобиться избежать их. Но ты получил идею?

Cheers

+0

добавляет контейнер с уникальным контентом на основе информации xml. У вас есть альтернативный путь к созданию контейнера с уникальным контентом без использования большого количества кода? Как бы вы это сделали? –

+0

А? Причина, по которой вы получаете ошибку, - это то, что вам не хватает требуемых котировок вокруг значения вашей стоимости * 'utubeurl'. Посмотрите внимательно на приведенный выше код. – Madbreaks

1

Когда я копирую и вставляю этот блок кода, я вижу дополнительный символ, завершающий второе закрытие});

Удаление, которое выполняется в консоли для меня, поэтому, если это не является источником ошибки, я бы посмотрел в другом месте на странице.

Доступна ли эта страница?

+0

[оригинальная версия] (http://stackoverflow.com/revisions/10526414/1), похоже, не имеет этой проблемы, хотя ... –

+0

любой шанс, что мы могли видеть код в контексте? –

+0

Что значит? –

2

Попробуйте поместить свойство файла под quiote знаков, например, так:

function() { 

'file' : 'utubeurl' 

} 

--edit:

Мой плохо, забудь, я путая с JSON, JQuery и, возможно, некоторые другие J из там, вы определяете свойство, не нужно указывать имя слота памяти te.

+0

обновлено описание –

+0

Что предлагает Giovanni, все еще действует, ведь все ваши json-ключи должны иметь кавычки. Поэтому ставьте цитаты вокруг названия, миниатюры, категории и т. Д. –

+1

выглядит так, что сломал мой код, теперь он даже не работает. так, например, это?вар вещь = { \t \t \t \t \t \t 'Название': 'ТТЛ', \t \t \t \t \t \t 'эскиз': 'тум', \t \t \t \t \t \t 'категория': 'кошка', \t \t \t \t \t \t 'описание': 'убывание', \t \t \t \t \t \t 'youtubeurl': 'utubeurl', \t \t \t \t \t \t 'facebookshareurl': 'fbshareurl', \t \t \t \t \t \t 'twitterurl': 'twturl', \t \t \t \t \t \t ' nbcsiteurl ':' nbcurl ', –

1

Решил проблему, передав переменную через href, а затем передав ее в команду для воспроизведения URL-адреса.

var item = { 
        title:ttl, 
        thumbnail:thum, 
        category:cat, 
        description:desc, 
        youtubeurl:utubeurl, 
        facebookshareurl:fbshareurl, 
        twitterurl:twturl, 
        nbcsiteurl:nbcurl, 
        obj:$('<div class="'+options.itemClass+'"><a href="javascript:utubeurlParser(\''+utubeurl+'\')" id="'+parentId+'" class="single_image" title="'+desc+'"><img src="'+thum+'" /></a><div class="show_lightbox_title"><strong>'+ttl+'</strong></div><ul id="social"><li><iframe src="'+fbshareurl+'" class="iframe_style" scrolling="no" frameborder="0" allowtransparency="true"/></li><li><a class="twtbtn" href="'+twturl+'" target="_blank"><img src="images/twitter_btn.gif"></a></li><a class="nbcbtn" href="'+nbcurl+'" target="_blank"><img src="images/showPages_btn.gif"></a></div>') 
       }; 
       shows.push(item); 
      }); 

      setSetter(); 
     } 
    }); 
} 
utubeurlParser = function(url){ 
       jwplayer().load({file: [url]});} 
Смежные вопросы