jQuery(document).ready(function($) {
          $("a[rel*=facebox]").click(function(){
            var Iframess = document.createElement("div");
            Iframess.width = 300;
            Iframess.height = 300;
            Iframess.innerHTML = "<iframe src='login.aspx'></iframe>"
            document.body.appendChild(Iframess);
     });
    })单击 创建出来的 iframe 是空白的!!!下面创建出来却不是空白的!!!
    jQuery(document).ready(function($) {
            var Iframess = document.createElement("div");
            Iframess.width = 300;
            Iframess.height = 300;
            Iframess.innerHTML = "<iframe src='login.aspx'></iframe>"
            document.body.appendChild(Iframess);
    })
请问怎么回事

解决方案 »

  1.   

    楼主你保证第一个是创建了吗?代码是一样的,要是创建了怎么可能不显示那,我觉得就没有进入那个click函数,楼主可以打印一下东西,一样的代码,怎么会不一样的那
      

  2.   

    已经进入了click 了 iframe 已经被创建了,但是 iframe 没加载login.aspx 
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>{$global["webtitle"]}-{$base.ClassItem.Name}</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript">
     function ee(){
      var IframeObj = document.createElement("iframe"); 
           IframeObj.id= "myfrm"; 
           IframeObj.width =330; 
          IframeObj.height =330; 
           IframeObj.frameborder = 0; 
          IframeObj.src="http://www.qq.com"; 
           IframeObj.name = "myfrm"; 
           document.body.appendChild(IframeObj);
     }
    </script>
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <li><a href="javascript:void(0);" id="abc" onclick="ee()">这个不可以</a></li>
    <li><a href="#" id="a1" onclick="ee()" >这个可以</a></li>
    </body>
    </html> 
    知道错在哪里了,为什么 javascript:void(0)  iframe 就无法装载内容呢?
      

  4.   

    没有证据.猜测的原因:
    第二种的时候, 将iframe追加到文档流中时, 文档的解析实际是没有完全完成的, 因为还在document.onready的事件中.
    第一种则完全是文档加载完之后, 由用户触发创建的iframe, 可能浏览器不去主动加载, 没有经过实验...勿笑
      

  5.   

    以下代码在IE6, 7, 8, chrome, firefox, opera下都测试通过<html>
      <head>
        <script type="text/javascript" src="jquery-1.3.2.js"></script>
        <script type="text/javascript">
          $(function() {
            $('#c').click(function() {
              $('body').append(
                $('<div style="width: 500px; height: 300px;">').append(
                  $('<iframe src="http://www.baidu.com" style="width: 500px; height: 300px;">')
                )
              );
            });
            
              $('body').append(
                $('<div style="width: 500px; height: 300px;">').append(
                  $('<iframe src="http://www.baidu.com" style="width: 500px; height: 300px;">')
                )
              );
          });
        </script>
      </head>
      <body>
        <input type="button" value="click" id="c" />
      </body>
    </html>
      

  6.   

    以下代码在IE6, 7, 8, chrome, firefox, opera下都测试通过<html>
      <head>
        <script type="text/javascript" src="jquery-1.3.2.js"></script>
        <script type="text/javascript">
        function createIframe4Standard() {
          var wrapper = document.createElement('div');
          var iframe = document.createElement('iframe');
          wrapper.style.setProperty('width', '500px', 1);
          wrapper.style.setProperty('height', '300px', 1);
          iframe.style.setProperty('width', '500px', 1);
          iframe.style.setProperty('height', '300px', 1);
          iframe.setAttribute('src', 'http://www.baidu.com');
          wrapper.appendChild(iframe);
          return wrapper;
        }
        function createIframe4Ie() {
          var wrapper = document.createElement('div');
          var iframe = document.createElement('iframe');
          wrapper.style.width = '500px';
          wrapper.style.height = '300px';
          iframe.style.width = '500px';
          iframe.style.height = '300px';
          iframe.src = 'http://www.baidu.com';
          wrapper.appendChild(iframe);
          return wrapper;
        }
        function createIframe() {
          return document.all ? createIframe4Ie() : createIframe4Standard();
        }
          $(function() {
            $('#c').click(function() {
              document.body.appendChild(createIframe());
            });
            document.body.appendChild(createIframe());
          });
        </script>
      </head>
      <body>
        <input type="button" value="click" id="c" />
      </body>
    </html>