首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IE9的JavaScript (jquery)追加问题

IE9的JavaScript (jquery)追加问题
EN

Stack Overflow用户
提问于 2012-05-30 18:17:18
回答 2查看 5.6K关注 0票数 0

我正在使用jquery在我的网站上添加一个快速菜单。我的源代码是这样的:

代码语言:javascript
复制
var span = $('body').append('<span id="quickmenu">');
       $('#quickmenu').css('position','fixed')
              .css('background-color','white')
              .css('border','4px solid black')
              .css('border-left','0px solid black')
              .css('top','15px')
              .css('left','0px')
              .css('font-family','Calibri')
              .css('font-size','14px')
              .css('line-height','0px')
              .css('color','#777777')
              .css('text-align','center');

我的问题是,在FF和Chrome中,一切都运行得很好,但IE9没有向我展示任何东西。

因此,在访问上述代码后,我尝试了一些alert():

代码语言:javascript
复制
alert('I run'); // I run
alert(span); // [object Object]
alert($("#quickmenu")); // [object Object] 
alert(span == $("#quickmenu")); // false

所以我似乎是被创造出来的,而不是显示出来的?!

我真的不知道哪里出了问题,...控制台在FF和IE9中未显示错误

有什么想法吗?!:-/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-30 18:50:48

我认为代码运行得太早了。您需要将代码包装在文档就绪函数中:

代码语言:javascript
复制
jQuery(document).ready(function() {

//your code goes here

});

实际上,我会将您的函数更改为如下所示:

代码语言:javascript
复制
 jQuery(document).ready(function(e) {   
    var span = $('<span id="quickmenu" >')
        .css({
            'position':'fixed',
             'background-color':'white',
             'border':'4px solid black',
             'border-left':'0px solid black',
             'top':'15px',
             'left':'0px',
             'font-family':'Calibri',
             'font-size':'14px',
             'line-height':'0px',
             'color':'#777777',
             'text-align':'center'
        })
        .appendTo($("body"));
});
票数 1
EN

Stack Overflow用户

发布于 2012-10-23 02:44:35

正如Smoki在评论中指出的那样。

切换自:$("#target").append(my_dom_element);

收件人:my_dom_element.appendTo("#target");

似乎解决了这个问题。

我使用了一个很大但没有脚本的元素,它是我从外部文件导入的,并提前转换成了一个元素。那么追加就会失败。切换到使用.appendTo()方法起作用了。因此,我大胆猜测,当被要求附加复杂元素时,.append()的IE代码会变得混乱。尽管它可能很容易就是它所附加的东西,这让它感到困惑。

(jQuery 1.8.2)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10814313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档