我正在做我的项目,在某个阶段,我需要更改某些单词的颜色(在本例中是Hashtags)。
控制器中有以下代码:
(请注意,“resultado”是一个有效字符串,可以毫无问题地获取推文)
List<Tweet> listaTuits = twitter.searchOperations().search(resultado).getTweets();
List<ObjetoTuit> listaPropia = new ArrayList<ObjetoTuit>();
我使用listaPropia从原始列表中获取所需内容
for(int i=0; i<listaTuits.size();i++){
Tweet enUso = listaTuits.get(i);
String textoAManipular = enUso.getText();
int contAux = this.listaDe5Elementos.getNumElementos();
if(contAux>0 && textoAManipular.contains(this.listaDe5Elementos.getElemento1())){
textoAManipular.replace(this.listaDe5Elementos.getElemento1(), "<span class=\"elem1\">"+this.listaDe5Elementos.getElemento1()+"</span>");
}
if(contAux>1 && textoAManipular.contains(this.listaDe5Elementos.getElemento2())){
textoAManipular = textoAManipular.replace(this.listaDe5Elementos.getElemento2(), "<span class=\"elem2\">"+this.listaDe5Elementos.getElemento2()+"</span>");
}
if(contAux>2 && textoAManipular.contains(this.listaDe5Elementos.getElemento3())){
textoAManipular = textoAManipular.replace(this.listaDe5Elementos.getElemento3(), "<span class=\"elem3\">"+this.listaDe5Elementos.getElemento3()+"</span>");
}
if(contAux>3 && textoAManipular.contains(this.listaDe5Elementos.getElemento4())){
textoAManipular = textoAManipular.replace(this.listaDe5Elementos.getElemento4(), "<span class=\"elem4\">"+this.listaDe5Elementos.getElemento4()+"</span>");
}
if(contAux>4 && textoAManipular.contains(this.listaDe5Elementos.getElemento5())){
textoAManipular = textoAManipular.replace(this.listaDe5Elementos.getElemento5(), "<span class=\"elem5\">"+this.listaDe5Elementos.getElemento5()+"</span>");
}
listaPropia.add(new ObjetoTuit(enUso.getId() ,textoAManipular, enUso.getFromUserId(), enUso.getFromUser(), enUso.getProfileImageUrl(),
enUso.getUser().getLocation(), enUso.getRetweetCount(), enUso.getFavoriteCount(), enUso.getCreatedAt()));
}
此时,我应该有完整的项目列表,“textoAManipular”字段应该有一个从class=“elem1”到class=“elem5”的标记
ModelAndView mav = new ModelAndView("vistaPrincipal");
mav.addObject("listaobjetostuits", listaPropia);
return mav;
现在,在视图中:
<table class="table table-striped table-bordered">
<thead>
<tr>
<th class="text-center">TEXTO</th>
<th class="text-center">NOMBRE USUARIO</th>
<th class="text-center">IMAGEN PERFIL</th>
<th class="text-center">LOCALIZACION USUARIO</th>
<th class="text-center">CONTADOR RETUITS</th>
<th class="text-center">CONTADOR ME GUSTA</th>
<th class="text-center">FECHA CREACION</th>
</tr>
</thead>
<tbody th:each="tuit : ${listaobjetostuits}">
<tr>
<th th:text="${tuit.texto}"></th>
<th th:text="${tuit.nombreUsuario}"></th>
<th><img th:src="${tuit.urlImagenPerfil}" class="img-thumbnail" /></th>
<th th:text="${tuit.localizacionUser}"></th>
<th th:text="${tuit.numRT}"></th>
<th th:text="${tuit.numMG}"></th>
<th th:text="${tuit.fechaCreacion}"></th>
</tr>
</tbody>
</table>
这是我之前试图解释的问题,我不能改变文本的颜色。我尝试了你告诉我的,将id标记更改为class标记,使用jQuery,甚至使用样式:color标记。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(".elem1").css("color", "red");
$(".elem2").css("color", "blue");
$(".elem3").css("color", "green");
$(".elem4").css("color", "yellow");
$(".elem5").css("color", "brown");
});
</script>
这对我不起作用。
知道吗?
您应该使用CSS类而不是ID。因为id在DOM树中应该是唯一的,CSS类不是,我假设您有多个相同类型的单词。
CSS文件:
.red { color:red; }
.green { color:green; }
您的替换方法:
text.replace(word, '<span class="red">' + word + '</span>')
使用此代码,您可以替换多个单词,并为它们提供相同的CSS类,这将添加颜色。
在您的情况下,您必须在调用替换方法后运行代码,这将是额外的工作,使用CSS,浏览器将为您完成这项工作。
更新:
您的CSS应该如下所示:
<style>
.red { color: 'red' };
.blue { color: 'blue'};
...
</style>
在这个例子中,它似乎工作得很好。如您所见,我使用了一个映射来存储所有映射(文字到颜色)。那就是代码较短。
Map<String,String> mappings = new HashMap<>();
mappings.put("Trump", "red");
String t = "<th>#Lynch not #Trump #ComeyDay </th>";
for(Map.Entry<String,String> entry: mappings.entrySet()){
t= t.replace(entry.getKey(), "<span class=\""+entry.getValue()+"\">" +entry.getKey() + "</span>");
}
System.out.print(t);
输出为:
<th>#Lynch not #<span class="red">Trump</span> #ComeyDay </th>
我一直试图改变我的时间选择器的文本颜色。但是我找不到父样式的位置。我两个都试过了 和 我的是15。我的是20。我已经重建并清理了我的项目 我想我已经解决了所有类似的问题,但没有一个真正为我提供了解决方案。唯一可行的答案是使用某种库,但我不太喜欢这种解决方案。到父级的路径是否与我正在使用的路径有所不同,因为我非常确定我应该能够以某种方式访问它? 编辑 这是主题的应用方式; 请注意,这是我收到的错误(
如何将标题字体颜色更改为白色,填充为绿色?以下是我正在使用的类: 我相信,这是必须插入的代码。
问题内容: 我想在字体为时使用光标。 那可能吗? 问题答案: 您可以定制一个。
问题内容: 我正在编写一个简单的扫雷游戏,现在可以运行,但是我正在处理一些漂亮的细节,例如使每个数字使用不同的颜色。 尝试在上设置文本颜色时,我总是遇到错误。我可以很容易地更改文本和背景,但是不能专门更改文本颜色。 导致一切混乱的部分是: 由于某种原因,我的错误是: 每当我尝试编译时都会发生这种情况,但是当我将其更改为说而不是正常工作时,就会发生这种情况。 问题答案: 对于JButton未定义。要
问题内容: 我制作了一个使用 ActionBarCompat* 的应用程序 * 我使用 SlidingTabLayout 类创建了选项卡。 该类是这样的: SlidingTabLayout.java 但我无法更改标签的颜色… 我的viewpager片段是这样的: 该应用程序运行良好,但我无法更改标签的 颜色文本 … 看到以下示例后,我制作了该应用程序: rudsonlive /导航抽屉-ViewP
如何更改以下首选项XML中和的颜色: 我尝试了我的: 更改标题的颜色,但它也会更改我工具栏中文本的颜色(我不想要)。 似乎正确地更改了摘要的颜色。 如何在不影响工具栏文本颜色的情况下更改标题颜色?