在Chrome下 - Mootools注入失败,返回null元素

时间:2012-01-17 23:31:57

标签: javascript dom google-chrome mootools

我在Chrome上遇到这个奇怪的问题 - 在我的页面上,我使用Mootools注入元素,特别是包含jwplayer视频的灯箱。关于chrome的问题在于引用一个元素即。 $( 'grid_01');第二次单击它时返回null。为了解决这个问题,我试图测试元素为null并重新注入它

            var ss = $('holderdiv');
            var x = $('mb_inline_0_-1');
            if(x == null)
            {
                var el = new Element("div", {id: "mb_inline_0_-1"});
            //if this line below runs without error...
                ss.inject(el);

            }
            //.........why would x2 be null?

             var x2 = $('mb_inline_0_-1');

Chrome表示无效。我能做些什么来确保更新DOM吗?

由于

2 个答案:

答案 0 :(得分:1)

你的意思是使用抓取,而不是注入。

ss.grab(el);  // Or el.inject(ss);

您的代码已将ss注入el,它永远不会附加到DOM。

答案 1 :(得分:1)

注入新创建的Element的格式为newElement.inject(existingElement, position);

因此,在您的情况下,如果您计划将新创建的div(包含在el中)注入$('holderdiv'),则应该这样做:

var el = new Element('div', {
    . . .
});
el.inject('holderdiv', 'bottom');    // Although 'bottom' is assumed if nothing is passed