Salut,

Je suis en train d'écrire un petit script Greasemonkey pour mettre en évidence certaines discussions dans la recherche sur le forum Developpez (par exemple sur cette page) . Je cherche à changer la couleur de fond du <div> qui se trouve sous un élément <li> qui a la classe .threadbit. Le script lui-même semble fonctionner correctement, je vois bien dans Firebug que ma classe CSS unanswered est bien appliquée, mais la couleur ne change pas.

Vu que je n'y connais pas grand chose en développement web en général, et encore moins en CSS, je fais surement une erreur de débutant...

Voilà le script (a priori ce n'est pas ça qui pose problème, mais on sait jamais) :

Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// ==UserScript==
// @name        DVP highlight unanswered topics
// @namespace   tom103
// @description Highlights topics with few or no answers on Developpez.net
// @include     <a href="http://www.developpez.net/forums/*" target="_blank">http://www.developpez.net/forums/*</a>
// @version     1
// @grant       none
// @require <a href="http://code.jquery.com/jquery-2.1.0.min.js" target="_blank">http://code.jquery.com/jquery-2.1.0.min.js</a>
// ==/UserScript==
 
function addCss(cssString) {
    var head = document.getElementsByTagName('head') [0];
    if (head) {
        var newCss = document.createElement('style');
        newCss.type = 'text/css';
        newCss.innerHTML = cssString;
        head.appendChild(newCss);
    }
}
 
addCss('.unanswered { background: cyan !important }');
 
$('.threadbit').each(function() {
    var thread = $(this);
    var threadstats = $(thread).find('.threadstats').first();
    var firstItem = $(threadstats).find('li').first();
    var anchor = $(firstItem).find('a').first();
    var answers = parseInt($(anchor).text());
    if (answers < 2) {
        $(threadstats).parent().addClass('unanswered');
    }
});

(c'est sans doute pas la meilleure façon de faire, mais comme je l'ai dit, le dev web n'est pas vraiment ma tasse de thé...)

Je remets séparément la classe CSS pour plus de clarté :

Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
.unanswered { background: cyan !important }

Est-ce que quelqu'un pourrait m'aider à voir d'où vient le problème ?

Merci !

EDIT: laissez tomber, en fait ça marche... c'était à cause d'un userstyle Stylish, si je le désactive ça fonctionne sans problème