【发布时间】: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" 属性值在整个页面中应该是唯一的。
-
检查
<= '10'不会像您期望的那样工作。您需要使用整数10而不是字符串 -
代码按我的目的工作。但只需要添加我在第一篇文章中写的功能。
-
parseInt(tdList[i].innerHTML.trim())<='10'虽然这可行,但将值解析为 int 然后将其与字符串进行比较是多余的。为什么不将tdList[i]...值与“10”进行比较?为什么需要parseInt?
标签: javascript equality