0

IE8 では、jQuery バージョン 1.4.2 は次のセレクター パスに対して 0 (長さをチェックすると) を返しますが、バージョン 1.9.1 では 1 を返します。

selectorPath = 'DIV#header + DIV > TABLE:first-child > TBODY:first-child > 
                TR:first-child > TD:first-child > TABLE:first-child > 
                TBODY:first-child > TR:first-child > TD:first-child > 
                TABLE:first-child > TBODY:first-child > TR:first-child > 
                TD:first-child > DIV:first-child + P + P + P + P + P + P 
                + P + P + P + P + P + P + P + P + P + P + P + P + P + P + 
                P + P + P + P + P + P + P + P + P + P + P + P + P + P + P 
                + P + P + P + P + P + P + H2 + P + P + P + P + P + P + P + 
                P + P';

$_1_4_2(selectorPath).length //returns 0

$_1_9_1(seelctorPath).length //returns 1

誰かがこの問題をカバーする正確なバグ、または少なくともバージョン 1.4.2 のおそらく関連するセレクター パスのバグのリストを教えてもらえますか?

4

1 に答える 1

0

いくつかに分けてみてください..

selectorPath = 'DIV#header + DIV > TABLE:first-child > TBODY:first-child > 
                    TR:first-child > TD:first-child > TABLE:first-child > 
                    TBODY:first-child > TR:first-child > TD:first-child > 
                    TABLE:first-child > TBODY:first-child > TR:first-child > 
                    TD:first-child > DIV:first-child + P + P + P + P + P + P 
                    + P + P + P + P + P + P + P + P + P + P + P + P + P + P + 
                    P + P + P + P + P + P + P + P + P + P + P + P + P + P + P 
                    + P + P + P + P + P + P + H2 + P + P + P + P + P + P + P + 
                    P + P';

    var half_len = Math.floor(selectorPath.length/2)                
    var first_part = selectorPath.substring(0, half_len);
    var second_part = selectorPath.substring(half_len, selectorPath.length);

    $_1_4_2(first_part).filter(second_part).length  
于 2013-02-05T11:29:46.030 に答える