Wykonałem przycisk w kształcie serca za pomocą CSS. Here jest łączem JSFiddle mojego kodu.Jak zmienić kolor pseudoelementów w CSS poprzez JQuery?
#heart {
height: 50px;
width: 50px;
position: relative;
}
#heart .outline:before,
#heart .outline:after {
position: absolute;
content: "";
left: 28px;
top: 1px;
width: 15px;
height: 27px;
background: #d53423;
-moz-border-radius: 50px 50px 0 0;
border-radius: 85px 60px 0 0;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
-webkit-transform-origin: 0 100%;
-moz-transform-origin: 0 100%;
-ms-transform-origin: 0 100%;
-o-transform-origin: 0 100%;
transform-origin: 0 100%;
}
#heart .outline:after {
left: 13px;
-webkit-transform: rotate(45deg);
border-radius: 45px 60px 0 0;
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transform-origin: 100% 100%;
-moz-transform-origin: 100% 100%;
-ms-transform-origin: 100% 100%;
-o-transform-origin: 100% 100%;
transform-origin: 100% 100%;
}
$("#heart").on('submit',
function(e) {
console.log('click heart support');
e.preventDefault();
$('#heart .outline:before').css('background', 'grey');
}
);
<form id="heart">
<button id="like_btn" class="outline" type="submit"></button>
</form>
Kiedy klikam przycisk formularz, chcę ten przycisk w kształcie serca, aby zmienić jego kolor. Jednak ten przycisk w kształcie serca składa się z pseudoelementów CSS i dlatego nie mogę łatwo zmienić jego koloru.
Czy ktoś ma pojęcia, w jaki sposób mogę manipulować pseudoelementami CSS (np. :before
i :after
) za pomocą JQuery?
Nie można zrobić z jQuery - zobacz http://stackoverflow.com/ pytania/3743513/how-do-i-ac cess-style-properties-pseudo-elementów-z-jquery – andyb
Dodaj klasę zamiast. Lepiej zachować wszystkie stylizacje w CSS. – powerbuoy