6

製品の div の行があります。4 項目ごとに明確な div を追加する必要があります。4列に。

今使ってjQuery('.product:nth-of-type(4n+2)').after("<div class='clear'></div>");いますが、IE8に対応していません。また、jQuery を使用しているため、この場合、selectivizrs の修正は機能しません。

私も試してみました

            addDynamicRow = function() {
            var divs = $(".product-section > .product");
            for(var i = 0; i < divs.length; i+=4) {
              divs.slice(i, i+4).wrapAll("<div class='row'></div>");
            }  

            $('.row').after("<div class='clear'></div>")   
        }

        addDynamicRow();

しかし、これは他の製品セクション ラッパーのすべての製品 div も取得し、それらがどこにあるかに関係なく、4 つのグループにまとめます。

回避策を知っている人はいますか?私は解決策を見つけることができませんでした。

ありがとう!

2013 年 1 月 15 日更新: jQuery 1.9 は、IE6 までさかのぼって、すべてのブラウザーで次の CSS3 セレクターをサポートするようになりました: :nth-last-child、:nth-of-type、:nth-last-of-type 、: first-of-type、:last-of-type、:only-of-type、:target、:root、および:lang。

4

5 に答える 5

5

IEの条件ステートメントでhttps://github.com/keithclark/JQuery-Extended-Selectorsを使用することになりました。現在動作しています。

于 2012-07-17T21:51:12.737 に答える
2

JQuery 拡張セレクター

それはあなたの問題を解決し、すべての css3 セレクター クラスに役立ちます。

于 2012-12-11T10:59:49.947 に答える
1

JavaScript ソリューションを使用することに満足している場合、私が知っている最高のものはSelectivzです。高度な CSS セレクター全体のサポートを IE に追加します。

これは、jQuery を含むいくつかのライブラリのいずれかを使用して行われます。nth-of-typeただし、jQuery と組み合わせて使用​​する場合はサポートされないと言及されているホームページから注目に値します。ただし、MooTools、Prototype、およびその他のライブラリで動作します。特にjQueryに問題がある理由がわかりません。

それがうまくいかない場合は、IE9.jsという古いスクリプトが役立つかもしれません。nth-of-typeこれは、やその他の CSS セレクターを含む、不足している機能を古いバージョンの IE に追加しようとする大きなハックです。また、多数の IE バグを修正しようとします。

これらのライブラリのいずれかが機能する可能性があり、古いバージョンの IE を気にせずに高度な CSS セレクターを使用できます。それらを試してみてください。

于 2012-07-17T21:33:04.350 に答える
1

この.filterメソッドは、欠落している jQuery の CSS3 サポートを回避するために悪用される可能性があります。

jQuery('.product').filter(function(i){return i%4==2;})

ただし、DOM の位置に基づくのではなく、選択された要素の現在のセットでのみnth-childエミュレートします。nth-of-type

于 2012-07-17T21:26:36.320 に答える
0

セレクターの完全なライブラリーをロードしたくない場合は、https ://gist.github.com/oliverbenns/6740630 を確認してください。

于 2013-09-28T10:21:59.427 に答える