Ich habe eine Schaltfläche, von der ich die background-image
URL benachrichtigen möchte, wenn ich darauf klicke #div1
.
Ist es möglich?
jquery
url
html
background-image
jQuerybeast
quelle
quelle
url(my%20picture%20Copy\(1\).jpg)
? Ihr Ersetzen bewirkt, dass die Variable bg istmy%20picture%20Copy\(1\.jpg)
. Es werden auch keine Zitate entfernt (zurl("the picture.jpg")
. B. ).%20
Klammern zu entfernen, oder sich fragen, ob Sie sie dort überhaupt wirklich benötigt haben. Wenn Sie in einem Problem zitieren, verwenden Sie stattdessen die RobW -Lösung.background-image:linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.4)), url("https://mdn.mozillademos.org/files/7693/catfront.png")
Ja, das ist möglich:
quelle
.css
Methode gibt den Wert einer Eigenschaft zurück, wenn sie mit einem Argument aufgerufen wird.background-image: url('photo(2012).png');
Mit Ihrem Code erhalten Sie "'photo (2012.png')", was offensichtlich falsch ist.Ich habe die Antwort leicht verbessert, die erweiterte CSS-Definitionen behandelt wie:
JavaScript-Code:
Ergebnis:
quelle
Wie bereits erwähnt, kann die Blazemongers-Lösung keine Anführungszeichen entfernen (z. B. von Firefox zurückgegeben). Da ich Rob Ws Lösung als ziemlich kompliziert empfinde, füge ich hier meine 2 Cent hinzu:
quelle
Ich denke, dass die Verwendung eines regulären Ausdrucks dafür hauptsächlich aufgrund von fehlerhaft ist
Da die URL- Komponenten (" und ") konstant sind, schneiden Sie Ihre Zeichenfolge folgendermaßen ab:
quelle
"
s sind in dieser Syntax optional.url(myimg.jpg)
funktioniert hier gut.Ich benutze diesen
quelle
Hier ist eine einfache Regex, die das
url("
und")
aus der zurückgegebenen Zeichenfolge entfernt.quelle
Mit nur einem Aufruf von
replace
(Regex-Version):var bgUrl = $('#element-id').css('background-image').replace(/url\(("|')(.+)("|')\)/gi, '$2');
quelle