Những người vẫn đang tìm kiếm một số giải pháp của cùng một vấn đề, nó là doable như sau sử dụng jQuery:
<button id="changeBefore">Change</button>
<script>
var newValue = '22';//coming from somewhere
var add = '<style>.graph:before{content:"'+newValue+'"!important;}</style>';
$('#changeBefore').click(function(){
$('body').append(add);
});
</script>
Ví dụ này minh họa rằng vào nút nhấn: changeBefore
, giá trị cho .graph:before
sẽ thay đổi theo động mới giá trị sắp tới cho nó.
Đối với mô tả thêm về thay đổi của :before
hoặc :after
phong cách yếu tố hoặc nhận được nội dung của nó:
Cho phép giả HTML của bạn là như thế này:
<div id="something">Test</div>
Và sau đó bạn đang thiết lập của nó: trước trong CSS và thiết kế nó như:
#something:before{
content:"1st";
font-size:20px;
color:red;
}
#something{
content:'1st';
}
Xin lưu ý rằng tôi cũng đặt thuộc tính content
trong phần tử sau này bạn có thể dễ dàng lấy nó ra. Bây giờ, hãy nhấp vào đó, bạn muốn thay đổi màu của: trước màu xanh lá cây và kích thước phông chữ là 30px. Bạn có thể đạt được điều đó như sau:
Xác định một css với phong cách cần thiết của bạn trên một số lớp .activeS
:
.activeS:before{
color:green !important;
font-size:30px !important;
}
Bây giờ bạn có thể thay đổi: trước phong cách bằng cách thêm các lớp của bạn: trước khi yếu tố như sau:
<button id="changeBefore">Change</button>
<script>
$('#changeBefore').click(function(){
$('#something').addClass('activeS');
});
</script>
Nếu bạn chỉ muốn để có được nội dung của :before
, nó có thể được thực hiện như:
<button id="getContent">Get Content</button>
<script>
$('#getContent').click(function(){
console.log($('#something').css('content'));//will print '1st'
});
</script>
Tôi hy vọng nó giúp
xem câu hỏi tương tự này http://stackoverflow.com/questions/5041494/ thao tác-css-trước-và-sau-pseudo-elements-using-jquery – antyrat
Nó có thể thực hiện được trong năm 2016 bằng cách sử dụng jQuery. – Learner