2015-11-26 22 views
2

因此,我有一段代码将一些东西附加到网页上,这些元素是从JSON文件(JSONP)中调用的。 这是调用JSON文件中的代码:如何添加一个div并附加脚本

<script> 
$(document).ready(function() { 
(function($) { 
var key= "12345"; 
var url = 'http://www.example.com/json.php?callback=?&auth=' + key + ''; 
var that = $(this); 
$.ajax({ 
    type: 'GET', 
    url: url, 
    async: false, 
    jsonpCallback: 'jsonCallback', 
    contentType: "application/json", 
    dataType: 'jsonp', 
    success: function(json) { 

     $("head").append(json.csBlock[0].pre);  
     $("head").append(json.csBlock[0].markup); 
     $("body").append(json.csBlock[0].div); 
     $("body").append(json.csBlock[0].script); 
     $("body").append(json.csBlock[0].frame); 
    }, 
    error: function(e) { 
     console.log(e.message); 
    } 
}); 

})(jQuery); 
}); 
</script> 

的事情是..当我使用这个它会说:
Uncaught TypeError: Cannot read property 'click' of null
这是因为我打电话$("body").append(json.csBlock[0].script);。其中载JSON文件下面的代码:

"script": "<script>$('.wblongbar').click(function(e) { if($('.wbiFrame').hasClass('slide-up')) {$('.wbiFrame').addClass('slide-down', 200); $('.wblongbar').addClass('slide-downlongbar', 200); $('.wbiFrame').removeClass('slide-up'); $('.wblongbar').removeClass('slide-uplongbar'); } else {$('.wbiFrame').removeClass('slide-down'); $('.wblongbar').removeClass('slide-downlongbar'); $('.wbiFrame').addClass('slide-up', 200); $('.wblongbar').addClass('slide-uplongbar', 200); }});</script>", 

正如你所看到的,我用.wblongbar,其中包含在
$("body").append(json.csBlock[0].div);

脚本无法“找到”的.wblongbar div

那么,我该如何追加这个脚本,没有它不是找到.wblongbar
我试图改变代码的顺序,但什么也没做。

+1

删除脚本中的所有空格或要附加的任何元素。 将所有数据追加为单个字符串。 –

+0

@AjayMakwana好吧,那有效!非常感谢...我从一些文档中获得了附加代码,显然它的编码是错误的......我自己并不知道这一点。再一次感谢你! – Sj03rs

回答

1

删除脚本或任何要添加的元素中的所有空格。将所有数据附加为单个字符串。