Javascript 在jQuery中创建图像标记不起作用?

Javascript 在jQuery中创建图像标记不起作用?,javascript,jquery,html,Javascript,Jquery,Html,index.html <html> <head> <script src="//code.jquery.com/jquery-2.0.0.min.js"></script> <script src="jquery.js"></script> </head> <body> <div id="myDiv" name="myDiv

index.html

<html>
    <head>
        <script src="//code.jquery.com/jquery-2.0.0.min.js"></script>
        <script src="jquery.js"></script>
    </head>
    <body>
        <div id="myDiv" name="myDiv" title="Example Div Element">


        </div>
    </body>
</html>

jquery.js

$.ajax
({
 type: "GET",
 url: "url",
 dataType: 'image/png',
 async: false,

 beforeSend: function (xhr) {
 xhr.withCredentials = true;
 xhr.setRequestHeader("Authorization", "Bearer xxx");
 },
 complete: function (data) {
 console.log("yello");
 $('#myDiv').html('<img id="target">');
 }
 });
$.ajax
({
键入:“获取”,
url:“url”,
数据类型:'image/png',
async:false,
发送前:函数(xhr){
xhr.withCredentials=true;
xhr.setRequestHeader(“授权”、“持有人xxx”);
},
完成:功能(数据){
控制台日志(“yello”);
$('#myDiv').html('');
}
});
这个问题很简单

为什么这条线不行<代码>$('#myDiv').html('' 当我检查页面的源代码时,没有显示任何内容,也没有图像标记。我不太明白为什么,因为我确信我做的每件事都是正确的


谢谢

尝试
console.log($('#myDiv').html())
在编写代码并查看控制台中的值后,您将在那里找到图像,但它不会显示在源代码视图中

将您的函数包装在:

$(函数()
{
$.ajax
({
键入:“获取”,
url:“url”,
数据类型:'image/png',
async:false,
发送前:函数(xhr){
xhr.withCredentials=true;
xhr.setRequestHeader(“授权”、“持有人xxx”);
},
完成:功能(数据){
控制台日志(“yello”);
$('#myDiv').html('');
}
});
});

这确保在加载DOM后调用ajax方法。

如果您发布的javascript是完整的jquery.js文件,那么发生的事情是在浏览器呈现div标记之前运行javascript,因此jquery选择器找不到任何内容,因此您的console.log调用返回未定义


这里是一个验证javascript的快速方法,请注意,我将图像创建包装在一个
$(function(){})中块。这是document.ready(function(){})的jquery速记

试试
$('#myDiv').html('Works!')
并查看文本是否出现。标记在哪里?您确定ajax调用正在完成并且成功函数正在命中吗?您是否使用检查器?如果不是,源代码将不会反映动态变化。我正在使用chrome inspector。无论get是否完成(它确实完成),都应该命中函数。尸体标签就在那里,我只是个傻瓜,我现在就把它贴上去。html('Works!)没有显示。正如我评论的那样回答,它工作了!谢谢将尽快检查。我在本地演示了$.ajax({type:“GET”,url:/images/cone.png),dataType:'image/png',async:false,beforeSend:function(xhr){xhr.withCredentials=true;xhr.setRequestHeader(“Authorization”,“Bearer xxx”);},complete:function(数据){console.log(“yello”);$('myDiv').html('');console.log($('myDiv').html());});
 $(function()
 {
     $.ajax
     ({
         type: "GET",
         url: "url",
         dataType: 'image/png',
         async: false,

         beforeSend: function (xhr) {
             xhr.withCredentials = true;
             xhr.setRequestHeader("Authorization", "Bearer xxx");
         },
         complete: function (data) {
             console.log("yello");
             $('#myDiv').html('<img id="target">');
         }
     });
 });