2016-09-15 4 views
-1

Safari + Jquery + Replace

Safari以外ではどのように動作しますか?

var img = $(this).css('background-image'); 
img = img.replace('url("', '').replace('")', ''); 

ありがとうございます。

+0

に動作するはずですが、あなたは 'それを'置き換え()を実行する前にimg' 'の値が何であるかをチェックすることがありますか? –

+0

Safariの結果は何ですか?私たちに例を教えてもらえますか? –

+1

が確認されました。サファリでは動作しません。背景画像を取得しますが、chromeと同様にurl()部分をトリミングしません。どうして人々はあなたがdownvoteする前にそれを試してみませんか? –

答えて

4

サファリの計算されたスタイルにはオプションの引用符が含まれていないため、url("")というパターンは一致しません。これを解決するには、引用符を個別に削除します。

img.replace('url(', '') 
.replace(')', '') 
.replace("'", "") // single quotes 
.replace('"', ''); // dbl quotes 

これは、すべてのブラウザ

+0

OPがちょうどそれをチェックしたのはなぜだろうかと思っています。:)とにかく私の投票を得ます;) –

+0

ありがとう、ロバート。 A.ウォルフ:私は自分でそれを理解することができなかったので、私は尋ねる。私はいつも尋ねる前に試します。ロバートは明らかに私が意味していたことを得て、とても役に立ちました。 – Virik