J'utilise Jquery pour faire certaines choses à partir d'un site Web sur lequel je travaille; Je fais quelques demandes et à partir des données que j'obtiens, il y a des valeurs avec des noms de couleur et je les stocke dans un tableau; ce que je veux faire, c'est changer la couleur de chacun car il y a parfois des couleurs différentes sur chaque demande.

C'EST À DIRE. L'utilisateur demande; à partir des données, il y a une valeur verte et rouge, avant de les envoyer à la page, je veux changer la couleur du vert en vert et du rouge en rouge. Si une autre demande est faite et que les couleurs cette fois sont bleu et jaune, j'aimerais changer à nouveau les couleurs avec le processus d'en haut.

Voici ce que j'ai:

var typeArr = [];
for (let l in data.types) {
        typeArr.unshift(data.types[l].type.name); //data.types is the data from the request
    }

//This is the appended info at the page
$('#types').html(`${typeArr[0].capitalizeFirstLetter()}`);
if (typeArr[1] !== undefined)
{
    $('#types').append(`/${typeArr[1].capitalizeFirstLetter()}`);
}

Je ne rencontre pas exactement une erreur; Je veux juste savoir comment faire ça. C'est ce que j'ai et cela montre les noms dans le bon ordre mais je veux changer la couleur des mots. Il y a au maximum 2 mots dans le tableau par requête.

-4
miguel 16 janv. 2017 à 04:47

2 réponses

Meilleure réponse

Si vous voulez décorer chaque mot avec sa couleur, vous devrez l'envelopper dans une balise html, dans ce cas, j'ai utilisé <span></span> pour l'exemple.

$("#testme").click(function (){
    var arr = [ "Red", "Blue"];
    var selectedWord = "Red";

    if( $.inArray(arr, selectedWord) ){
       var newtext = $("<span>"+selectedWord+"</span>").css("color", selectedWord.toLowerCase());
       $("#myDiv").append(newtext);

    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="myDiv">Text will appear here.</div>
<button id="testme">Test me!</button>
1
Dexter Bengil 16 janv. 2017 à 03:17

Je ne sais toujours pas vraiment ce que vous recherchez. Cependant, selon votre commentaire

voir si le mot est dans le tableau, s'il est dans le tableau, changer la couleur

Alors, est-ce ce dont vous avez besoin? ref

jQuery.inArray( value, array [, fromIndex ] )

Utilisation par exemple

<div id="myDiv">something</div>

& jquery

var arr = [ "Red", "Blue"];
if(jQuery.inArray("Blue", arr)>0){
   $("#myDiv").css('background-color', 'blue');
}
0
Circle Hsiao 16 janv. 2017 à 02:34