2017-11-11 158 views
0
<table> 
<tbody> 
<tr class="positive"> 
<td class="happy">12</td> 
<td class="happy">7</td> 
<td class="happy">69</td> 
</tr> 
</tbody> 
</table> 

▲这是源html代码。CSS规则数大于

td.happy(@>10) {color:red;} 
td.happy(@>50) {color:blue;} 

▲这是我想要的CSS代码。 (想象)

我想申请的CSS样式时(50月10日)比具体数目更大数量

心中已经尝试过Java的脚本,它的工作,但我想使网站只能使用html和CSS。

有什么方法可以选择标签中的文本号码吗?

+0

即使你是做_can_基于它的文本被选中的元素自己适当的研究内容第一(https://www.google.com/search?q=css+select+element+based+on+text+content),我非常怀疑你会找到一种方法让它做一个数学比较_字符串值也是如此。 – CBroe

+0

如果您能够根据值(?)开始确定哪些元素是“正面”和“高兴”,那么您还应该能够将这些元素分类为“开心和红色”或“开心和蓝色”一种可以选择CSS的方法(例如,最简单的形式,一个额外的类;理想的基础是信息代表的是什么,而不是当前期望的格式)。 – CBroe

回答

0

你不能用纯CSS,你必须帮助的jQuery:

$(document).ready(function(){ 
 
    $('tr.positive td.happy').each(function(){ 
 
    number = parseFloat($(this).text()); 
 
    if(number > 10) 
 
     $(this).addClass('greater10'); 
 
    if(number > 50) 
 
     $(this).addClass('greater50'); 
 
    }) 
 
})
td { 
 
    border: 1px solid #000; 
 
} 
 

 
.greater10 { 
 
    color: red; 
 
} 
 

 
.greater50 { 
 
    color: blue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<table> 
 
    <tbody> 
 
    <tr class="positive"> 
 
     <td class="happy">12</td> 
 
     <td class="happy">7</td> 
 
     <td class="happy">69</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

0

如果您阅读specification,没有。

您可以匹配元素,元素中的属性名称和元素中命名属性的值。您唯一可以做的控制是如果标签是empty

0

不是从CSS,如果你想避免一个全新的js页面,那么也许考虑在你的HTML中嵌入js。