0

注目の画像をフィギュア要素でラップしています。しかし、IE8 は Figure 要素を正しく認識せず、私のイメージを台無しにします。そこで、jQuery を使用して IE8 を検出し、Figure 要素を単純な div 要素に置き換えようとしています。

これが私のテストjQueryです:

jQuery('.entry figure.figureFeatured').replaceWith(
    jQuery('<div/>').html(
        jQuery('.entry figure.figureFeatured').html()
        )
    );

元の図要素の属性が置き換えられた div 要素に関連付けられなくなったことを除いて、正常に動作します (chrome のインスペクターによると)。

4

1 に答える 1

0

以下のコードを使用して、属性もコピーします...

jQuery('.entry figure.figureFeatured').replaceWith(
    var $div=jQuery('<div/>');
    $div.html( jQuery('.entry figure.figureFeatured').html() )
     $div.attr(jQuery('.entry figure.figureFeatured').getAttributes());
    );

以下のように getAttributes 関数を Jquery に追加する必要があります。

(function($) {
    $.fn.getAttributes = function() {
        var attributes = {}; 

        if( this.length ) {
            $.each( this[0].attributes, function( index, attr ) {
                attributes[ attr.name ] = attr.value;
            } ); 
        }

        return attributes;
    };
})(jQuery);
于 2013-04-30T14:38:23.623 に答える