jQuery append()不能处理某些元素

时间:2012-09-05 18:49:42

标签: javascript jquery dom append

我正在创建的网站是http://www.industrialmerchants.com

我的脚本的问题部分如下:

var collapseAll = document.createElement('img');
    collapseAll.src = collapseAllSrc;
    collapseAll.className = "collapseAll";
    collapseAll.style.cssFloat = "right";

    imUI(".menuBrowser .sideModuleHeader").append(collapseAll);

(imUI是我正在使用的noConflict变量。如果你想知道为什么我使用这个创建DOM元素的详细方法,那是因为这是我努力使这段代码工作的最后努力。)

由于某些奇怪的原因,所选div没有附加任何内容。 div肯定是被选中的,因为length属性正在返回1.为了让事情更加混乱,我有另一个“模块”,它具有几乎相同的DOM结构。当我改变选择器以包含来自两个模块的.sideModuleHeader div时,图像将插入第二个模块但不插入第一个模块。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

它确实被添加了,但稍后你会有几行:

toggleButtons = imUI(".menuBrowser img").remove(".collapseAll")...

然后立即将其删除。

答案 1 :(得分:1)

看起来你正在将核心javascript与jquery混合使用。 尝试:

var collapseAll = $('<img />').attr('src',collapseAllSrc).addClass("collapseAll");
collapseAll.css({'float':'right'})

-edit:我在attr部分有一个':'而不是','。

答案 2 :(得分:-2)

尝试追加儿童:

 imUI(".menuBrowser .sideModuleHeader").appendChild(collapseAll);