根据元素中的值将css分配给该元素

根据元素中的值将css分配给该元素,css,html,html-table,Css,Html,Html Table,我正在开发一个web应用程序,它以表的形式显示了一些列,其中包含一些数据。特别是我有一个名为Change的列,下面绑定了一些数据,如下所示 <td data-bind="text: GradeName"></td> <td data-bind="text:Price"></td> <td data-bind="text:Change"></td>

我正在开发一个web应用程序,它以表的形式显示了一些列,其中包含一些数据。特别是我有一个名为
Change
的列,下面绑定了一些数据,如下所示

            <td data-bind="text: GradeName"></td>
            <td data-bind="text:Price"></td>
            <td data-bind="text:Change"></td>

Change
的值可以是负值也可以是正值,但如果是负值,我希望该值显示为红色或黑色


我可以知道一个好方法吗?

你可以这样做:

td[data bind*=“text:Change:-”{color:red;}

此规则仅匹配属性为
数据绑定的
,且以
文本:-
开头,表示负数的


您可以这样做:

td[data bind*=“text:Change:-”{color:red;}

此规则仅匹配属性为
数据绑定的
,且以
文本:-
开头,表示负数的


您可以这样做:

td[data bind*=“text:Change:-”{color:red;}

此规则仅匹配属性为
数据绑定的
,且以
文本:-
开头,表示负数的


您可以这样做:

td[data bind*=“text:Change:-”{color:red;}

此规则仅匹配属性为
数据绑定的
,且以
文本:-
开头,表示负数的


如果您希望使用jQuery,下面是我为您提供的解决方案:

jQuery(文档).ready(函数(){
var-dataElem;
jQuery('td')。每个(函数(){
dataElem=jQuery(this);
if(dataElem.data('bind')){
if(dataElem.data('bind').substr(dataElem.data('bind').indexOf(“:”)+1)=“Change”){
if(parseInt(dataElem.html())<0){
css(“背景色”、“红色”);
}
}
}
});
});

上述代码假设在数据属性更改引用的td元素中会找到正值/负值。除非另有说明,否则我很乐意对此答案进行更改。

如果您希望使用jQuery,以下是我的解决方案:

jQuery(文档).ready(函数(){
var-dataElem;
jQuery('td')。每个(函数(){
dataElem=jQuery(this);
if(dataElem.data('bind')){
if(dataElem.data('bind').substr(dataElem.data('bind').indexOf(“:”)+1)=“Change”){
if(parseInt(dataElem.html())<0){
css(“背景色”、“红色”);
}
}
}
});
});

上述代码假设在数据属性更改引用的td元素中会找到正值/负值。除非另有说明,否则我很乐意对此答案进行更改。

如果您希望使用jQuery,以下是我的解决方案:

jQuery(文档).ready(函数(){
var-dataElem;
jQuery('td')。每个(函数(){
dataElem=jQuery(this);
if(dataElem.data('bind')){
if(dataElem.data('bind').substr(dataElem.data('bind').indexOf(“:”)+1)=“Change”){
if(parseInt(dataElem.html())<0){
css(“背景色”、“红色”);
}
}
}
});
});

上述代码假设在数据属性更改引用的td元素中会找到正值/负值。除非另有说明,否则我很乐意对此答案进行更改。

如果您希望使用jQuery,以下是我的解决方案:

jQuery(文档).ready(函数(){
var-dataElem;
jQuery('td')。每个(函数(){
dataElem=jQuery(this);
if(dataElem.data('bind')){
if(dataElem.data('bind').substr(dataElem.data('bind').indexOf(“:”)+1)=“Change”){
if(parseInt(dataElem.html())<0){
css(“背景色”、“红色”);
}
}
}
});
});

上述代码假设在数据属性更改引用的td元素中会找到正值/负值。我很乐意在澄清后对此答案进行更改。

没有CSS选择器允许您根据元素的内容对其进行样式设置,因此您不能完全使用CSS进行此操作

但是,Knockout可以在绑定数据时为您进行样式设置:您可以使用or。下面是一个样式绑定示例:

<td data-bind="text: GradeName"></td>
<td data-bind="text: Price"></td>
<td data-bind="text: Change, style: { color: Change<0 ? 'red' : 'black' }"></td>

没有CSS选择器允许您根据元素的内容对其进行样式设置,因此您不能仅在CSS中进行此操作

但是,Knockout可以在绑定数据时为您进行样式设置:您可以使用or。下面是一个样式绑定示例:

<td data-bind="text: GradeName"></td>
<td data-bind="text: Price"></td>
<td data-bind="text: Change, style: { color: Change<0 ? 'red' : 'black' }"></td>

没有CSS选择器允许您根据元素的内容对其进行样式设置,因此您不能仅在CSS中进行此操作

但是,Knockout可以在绑定数据时为您进行样式设置:您可以使用or。下面是一个样式绑定示例:

<td data-bind="text: GradeName"></td>
<td data-bind="text: Price"></td>
<td data-bind="text: Change, style: { color: Change<0 ? 'red' : 'black' }"></td>

没有CSS选择器允许您根据元素的内容对其进行样式设置,因此您不能仅在CSS中进行此操作

但是,Knockout可以在绑定数据时为您进行样式设置:您可以使用or。下面是一个样式绑定示例:

<td data-bind="text: GradeName"></td>
<td data-bind="text: Price"></td>
<td data-bind="text: Change, style: { color: Change<0 ? 'red' : 'black' }"></td>


您想使用纯CSS还是javascript解决方案?我希望使用纯CSS,只要有一些可能jscript@CupawnTae甚至可以只使用css在标记内部做一些事情吗?我不知道你能。回顾一下这个stackoverflow,已经3年了,但我认为它没有改变