因此,我有一段代码将一些内容附加到网页上,这些元素是从JSON
文件(JSONP
)中调用的。这是调用JSON
文件的代码:
<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
?
我试图更改代码的顺序,但是什么也没做。
删除脚本中的所有空格或要添加的任何元素。将所有数据附加为单个字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句