Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据div文本将div文本覆盖为0或1_Javascript_Jquery - Fatal编程技术网

Javascript 根据div文本将div文本覆盖为0或1

Javascript 根据div文本将div文本覆盖为0或1,javascript,jquery,Javascript,Jquery,我有这个html: <td> <div class="status">10</div> <span class="fa fa-times-circle"></span> </td> 10 我有下面的脚本,如果“status”类的文本为30,则将其改写为1。在上面的例子中,类状态是10,所以我需要它覆盖并指示1。我的剧本没有做到这一点。有人能帮忙吗 $.each($('tr .status'), function

我有这个html:

<td>
  <div class="status">10</div>
  <span class="fa fa-times-circle"></span>
</td>

10
我有下面的脚本,如果“status”类的文本为30,则将其改写为1。在上面的例子中,类状态是10,所以我需要它覆盖并指示1。我的剧本没有做到这一点。有人能帮忙吗

$.each($('tr .status'), function(i, v) {
    var $this = $(this).text();
  if($this > 0) {
    ($this < 30) ? $(this).text('1') : $(this).text('0');
  }
});
$。每个($('tr.status'),函数(i,v){
var$this=$(this.text();
如果($this>0){
($this<30)?$(this.text('1'):$(this.text('0');
}
});
$。每个($('.status'),函数(i,v){
var$this=parseInt($(this.text());
如果($this>0){
($this<30)?$(this.text('1'):$(this.text('0');
}
});

10

当你将文本与数字进行比较时,会得到一些时髦的输出。尝试执行以下操作:

$.each($('tr .status'), function(i, v) {
  var $this = $(this);
  var value =  Number($this.text());
  if(value > 0 && !== isNaN(value)) {
    (value < 30) ? $this.text('1') : $this.text('0');
  }
});
$。每个($('tr.status'),函数(i,v){
var$this=$(this);
var value=Number($this.text());
如果(值>0&&!==isNaN(值)){
(值<30)?$this.text('1'):$this.text('0');
}
});

在你的代码中你使用的是
tr.status
,但是在你的HTML中它是一个DIV,所以它应该是
DIV.status
,你也应该使用
parseInt()
,因为
$(this.text()
会给你一个字符串,而不是一个整数


看看这段JavaScript:

$('tr .status')
此级联不适合您的HTML代码。 将级联更改为

 $('td .status') 

或者在HTML中将td标记更改为tr标记。

.text
更改为
.HTML
。并将
$更改为
$('tr.status')。每个(函数(i,v))
能否在MasterJoe提供您的所有代码请编辑并细化您的问题,如想要的HTML示例。在使用jquery代码段之后,您的代码段被指示为,但它不存在于我们的示例片段中,因此大部分情况下您的示例片段是不完整的。谢谢。@HarshitJain:OP的代码在没有任何更改的情况下工作。第一个可能是个坏主意,第二个是样式。“解析文本进行比较”
0
<30
)。OP的代码工作得很好(尽管我肯定不会这样写)。你为什么认为
tr.status
不工作?它不是
tr>。status
td
更改为
tr
??真正地HTML不是这样工作的。它是
tr.status
所以很好,它不是
tr.status