Tôi đã tạo một nút hình trái tim bằng cách sử dụng CSS. Here là liên kết JSFiddle của mã của tôi.Làm cách nào để thay đổi màu của các phần tử giả trong CSS thông qua 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>
Khi tôi bấm vào nút hình thức, tôi muốn nút hình trái tim này để thay đổi màu sắc của nó. Tuy nhiên, nút hình trái tim này được tạo từ các phần tử giả CSS và do đó, tôi không thể dễ dàng thay đổi màu của nó.
Có ai có manh mối về cách tôi có thể thao tác các phần tử giả CSS hay không (ví dụ: :before
và :after
) bằng cách sử dụng JQuery?
Nó không thể được thực hiện với jQuery - xem http://stackoverflow.com/ câu hỏi/3743513/how-do-i-ac cess-style-properties-of-pseudo-elements-with-jquery – andyb
Thêm một lớp thay thế. Tốt hơn là giữ tất cả kiểu dáng trong CSS. – powerbuoy