我在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吗?
由于
答案 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