2012-09-05 54 views
0

网站我要创建的是http://www.industrialmerchants.comjQuery的追加()不工作的某些元素

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

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

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

(IMUI是noConflict可变我如果您想知道为什么我使用这种创建DOM元素的详细方法,那是因为这是我最后努力让这段代码运行起来。)

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

+1

它可能被附加,但不可见? – Jacob

+0

使用appendTo有相同的结果吗? – newtron

+0

不。当我用萤火虫检查div时,它不会显示在DOM中。 –

回答

3

它得到补充,但也有少数线路以后你:

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

然后立即删除它。

+0

哦,软糖!我认为remove()从jQuery选择中删除一个元素,而不是从DOM中删除。谢谢! –

+0

not()函数就是我正在寻找的东西。 –

+0

为此使用,请尝试http://api.jquery.com/not-selector/ – newtron

-2

尝试追加儿童:

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

appendChild()不是有效的jQuery函数。 –

1

看起来你是混合核心JavaScript与jQuery。而不是 '' 对ATTR部分 尝试:

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

-edit:我有一个 ''。

+0

这就是我原来的做法,但没有奏效。 –