我正在使用Jquery从我正在处理的网站上做一些事情;我正在做一些请求,从我得到的数据中有一些带有颜色名称的值,我将它们存储在一个数组中;我想要做的是改变每一个的颜色,因为有时每个请求都有不同的颜色。
即。用户确实要求;从数据中有一个绿色和红色值,在将它们发送到页面之前我想将绿色变为绿色,红色变为红色。如果另外请求并且这次的颜色是蓝色和黄色,我想用上面的过程再次改变颜色。
这就是我所拥有的:
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()}`);
}
我没有遇到错误;我只是想知道如何做到这一点。这就是我所拥有的,它以正确的顺序显示名称,但我想改变单词的颜色。每个请求的数组中最多有2个单词。
答案 0 :(得分:1)
如果你想用它的颜色装饰每个单词,你需要将它包装在一个html标签中,在这种情况下,我使用<span></span>
作为例子。
$("#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 :(得分:0)
仍然不确定你在寻找什么。 但是,根据你的评论
查看单词是否在数组中,如果它在数组中,则更改颜色
这就是你需要的吗? ref
jQuery.inArray( value, array [, fromIndex ] )
用法例如
<div id="myDiv">something</div>
&安培; jquery的
var arr = [ "Red", "Blue"];
if(jQuery.inArray("Blue", arr)>0){
$("#myDiv").css('background-color', 'blue');
}