在Chrome下,Mootools注入失败,元素为null

Under Chrome - Mootools inject fails with null element

本文关键字:元素 null 失败 Mootools Chrome 注入      更新时间:2023-09-26

我在Chrome上遇到了这个奇怪的问题——在我的页面上,我正在使用Mootools注入元素,特别是一个包含jwplayer视频的灯箱。chrome的问题在于,引用元素ie.$('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得到更新吗?

感谢

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

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

您的代码将ss注入el,el从未附加到DOM。

注入新创建的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