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
?
我試圖改變代碼的順序,但什麼也沒做。
刪除腳本中的所有空格或要附加的任何元素。 將所有數據追加爲單個字符串。 –
@AjayMakwana好吧,那有效!非常感謝...我從一些文檔中獲得了附加代碼,顯然它的編碼是錯誤的......我自己並不知道這一點。再一次感謝你! – Sj03rs