2chan, так работать не будет.
window.getSelection() -> для получения выделенного текста
element.textContent.charAt(0) -> для получения первой буквы текста
Ну зачем изменять ::after/::before через JS? Просто меняешь класс и всё. Но если прям так надо, то:
var style = document.createElement('style');
style.type = 'text/css';
style.appendChild(document.createTextNode('\
.myElem::before {\
content: "123";\
}\
.myElem::after {\
content: url("test.png");\
}\
'));
document.head.appendChild(myElem);
Но лучше всё-таки использовать классы, ибо вариант с созданием style - говнокодинг.