Opera和Safari的.find(“。class:first”)行为

时间:2014-01-23 09:45:07

标签: javascript css html5 css3

我正在使用Soundmanager2在网站上播放一些音频文件,但不使用Flash。

它适用于Firefox和Chrome,因为它们分别支持oggmp3。但是,它不适用于Opera 12.16。从理论上讲,它支持ogg,并传递条件if( supports_ogg_audio() )

在此功能中返回1:

    function supports_ogg_audio() {
         var a = document.createElement('audio');
        return !!(a.canPlayType && a.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/, ''));
    }

因此它会检测到ogg支持。但正如我所做的那样:

currentRow = thisPlayer.find(".total-row:first");

我从Opera控制台收到此错误:

Unknown pseudo class
[id='total-playlist'] .total-row:first

所以我猜这是问题所在。如何选择具有更好浏览器兼容性的第一个thisPlayer.find(".total-row")元素? 它既不适用于Safari5 +和IE9 +

1 个答案:

答案 0 :(得分:2)

您需要使用first-child选择器而不是first。请参阅信息here