【问题标题】:Equal to x but less then y等于 x 但小于 y
【发布时间】:2017-12-02 08:02:17
【问题描述】:

如果数字为 10 或更少,则将其替换为 Answer is here #1。

但是如何做到这一点... 如果数字为 10 或更少,但如果数字为 30 或更多,则文本将替换为 Answer is here #1。

我知道我可以添加相同的代码,只需更改 >= 但我希望所有功能合二为一。

<table>
<tr><td id="X">10</td></tr>
<tr><td id="X">20</td></tr>
<tr><td id="X">30</td></tr>
</table>

<script>
var tdList = document.getElementsByTagName('td');
for(var i=0; i< tdList.length; i++){ 
  if(parseInt(tdList[i].innerHTML.trim())<='10' && tdList[i].getAttribute('id') == "X")
  tdList[i].innerHTML = 'Answer is here #1' 
}
</script>

【问题讨论】:

  • 如果您不喜欢奇怪的事情发生,"id" 属性值在整个页面中应该是唯一的。
  • 检查 &lt;= '10' 不会像您期望的那样工作。您需要使用整数10 而不是字符串
  • 代码按我的目的工作。但只需要添加我在第一篇文章中写的功能。
  • parseInt(tdList[i].innerHTML.trim())&lt;='10' 虽然这可行,但将值解析为 int 然后将其与字符串进行比较是多余的。为什么不将tdList[i]... 值与“10”进行比较?为什么需要parseInt

标签: javascript equality


【解决方案1】:

但是如何做到这一点...如果数字是 10 或更少但如果数字是 30 或更多然后文本被替换为 Answer is here #1。

if(parseInt(tdList[i].innerHTML.trim())&lt;= 10 || parseInt(tdList[i].innerHTML.trim() &gt;= 30)

这就是你要找的吗?

【讨论】:

  • 是的,但是脚本 scips 这部分 || parseInt(tdList[i].innerHTML.trim() &gt;= 30)
  • 跳过是什么意思?如果数字小于 10,则整个 if 条件将评估为真。如果数字大于 30,同样适用。
【解决方案2】:

这工作在某种程度上并不真正理解是如何工作的,但是是的。

<table>
<tr><td id="X">0</td></tr>
<tr><td id="X">10</td></tr>
<tr><td id="X">100</td></tr>
</table>

<script>
var tdList = document.getElementsByTagName('td');
for(var i=0; i< tdList.length; i++){ 
  if(parseInt(tdList[i].innerHTML.trim())< 9 && tdList[i].getAttribute('id') == "X")
  tdList[i].innerHTML = 'Answer is here 1' 
}
</script>

<script>
var tdList = document.getElementsByTagName('td');
for(var i=0; i< tdList.length; i++){ 
  if(parseInt(tdList[i].innerHTML.trim())>= 10 && parseInt(tdList[i].innerHTML.trim())<= 99 && tdList[i].getAttribute('id') == "X")
  tdList[i].innerHTML = 'Answer is here 2' 
}
</script>

<script>
var tdList = document.getElementsByTagName('td');
for(var i=0; i< tdList.length; i++){ 
  if(parseInt(tdList[i].innerHTML.trim())>= 100 && parseInt(tdList[i].innerHTML.trim())<= 200 && tdList[i].getAttribute('id') == "X")
  tdList[i].innerHTML = 'Answer is here 3' 
}
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多