与jQuery的find()不一致的行为

时间:2012-06-22 17:33:12

标签: jquery mediaelement.js

使用jQuery 1.7.2。测试版本高达1.5.1。结果相同。

在小于9的FF和IE中,它可以正常返回DOM元素的预期jQuery对象。但是,在其他所有内容中,它返回DOM元素的jQuery对象的jQuery对象。这与任何试图获得宽度或高度的东西一起拧紧,因为jQuery中的那些函数最终期望传递的元素是一个DOM元素(我做了很多跟踪)。此外,我以前从未遇到过这个问题。 This is the site where it all went wrong。如果你想看到它的实际应用,我还没有修复上一个和下一个按钮。它应该在下一个播放列表元素上调用click()。不是因为这个问题。

代码来自MediaElementJS

t.controls = t.container.find('.mejs-controls');
t.layers = t.container.find('.mejs-layers');

我最终提出了解决方案。

if(!mf.isFirefox && !(/MSIE [876]/.test(navigator.userAgent))){
    t.controls = t.container.find('.mejs-controls').get(0);
    t.layers = t.container.find('.mejs-layers').get(0);
}else{
    t.controls = t.container.find('.mejs-controls');
    t.layers = t.container.find('.mejs-layers');
}

现在,为什么在上帝的绿色地球上除了FF之外新的浏览器还不好?

如果您想设置断点,以下是这些行:

  • jquery + mep.js(曾经在这里捆绑了jQuery,把它拿出来进行测试)
    • 下一个:4595
    • 上一篇:4600
  • 的jquery-1.7.2.js
    • jQuery.next():5582
    • jQuery.prev():5585
    • jQuery.nth():5666

更新

其他页面似乎未受影响;比如http://www.commercialsonhold.com/messagesamples/aesthetics.htm。我开始认为页面上的其他内容正在搞乱jQuery。该网站是Joomla!我经常在Joomla上使用MooTools遇到麻烦!但是,通常jQuery根本不工作,而不只是一个功能异常。

更新

jsFiddle:http://jsfiddle.net/h5ahY/4/

illustration of the jQuery object in a jQuery object

1 个答案:

答案 0 :(得分:0)

发现了这个问题。这是MooTools。我不知道怎么做,也不知道为什么。

通过移动上面的MooTools包含的jQuery包含并使用jQuery代替$到处修复。

我现在知道如何使用它,很快就会得到一个jsFiddle。