この質問にはいくつかの問題が生じます。
問題 #1 - cssの特異性 (重要なルールをオーバーライドする方法)。
仕様によると-このセレクターをオーバーライドするには、セレクターを「より強く」する必要があります。つまり、重要であり、少なくとも1つのID、1つのクラス、およびその他のものを持っている必要があります-あなたによると、このセレクターを作成することは不可能です(変更できないため)ページの内容)。したがって、可能な唯一のオプションは、(js で実行できる) 要素スタイルに何かを入れることです。注: スタイル ルールには、上書きする !important も必要です。
問題 #2 - background は単一のプロパティではありません - プロパティのセットです (仕様を参照)
したがって、変更したいプロパティの正確な名前を知る必要があります(あなたの場合は background-image になります)
問題 #3 - 既に適用されているルールを削除する方法 (以前の値を取得するため)
残念ながら、css には、要素に該当するルールを却下するメカニズムがありません。「より強力な」ルールでオーバーライドするだけです。したがって、値を「継承」または「デフォルト」のような値に設定するだけでは、このタスクを解決することはできません。表示したい値は、親からもデフォルトからも継承されません。この問題を解決するには、いくつかのオプションがあります。
1) 適用したい値が何であるかを既に知っているかもしれません。たとえば、使用されているセレクターに基づいてこの値を見つけることができます。したがって、この場合、セレクター ".image-list li" には background-image: url(" http://placekitten.com/150/50 ")が必要であることがわかるかもしれません。もしそうなら - あなただけがこのスクリプト:
jQuery(".image-list li").attr('style', 'background-image: url("http://placekitten.com/150/50") !important; ');
2)値がわからない場合は、そのような方法でページコンテンツを変更しようとすることができます。無視したいルールは要素の資格がなくなりましたが、表示したいルールは引き続き資格があります。この場合、コンテナ要素から id を一時的に削除できます。コードは次のとおりです。
jQuery("#an-element").attr('id', '');
var backgroundImage = jQuery(".image-list li").css('background-image');
jQuery("#an-element").attr('id', 'an-element');
jQuery(".image-list li").attr('style', 'background-image: ' + backgroundImage + ' !important; ');
フィドルへのリンクは次のとおりですhttp://jsfiddle.net/o3jn9mzo/
3) 3 番目の解決策として、プロパティ値を見つけるために必要な選択に適格な要素を生成できます。次のようなものです。
var backgroundImage = jQuery("<div class='image-list'><li></li></div>").find('li').css('background-image');
jQuery(".image-list li").attr('style', 'background-image: ' + backgroundImage + ' !important; ');
PS: 返事が本当に遅くなってすみません。