Javascript,数字还是字符串?
Javascript, Numbers or String?
我编写了一些代码(在你们的帮助下),想知道是否有任何方法可以使 JavaScript 使用特定字母而不是数字。
let boxes = document.getElementsByClassName("centerbox")
for (let i = 0; i < boxes.length; i++) {
let box = boxes.item(i)
let content = box.getElementsByTagName("p")[0].innerHTML
let number = Number(content)
if (number <= 0) {
box.classList.add("red");
}
else if (number >= 1 && number < 5) {
box.classList.add("yellow");
}
else if (number >= 5) {
box.classList.add("green");
}
}
.centerbox::before {
content: "";
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
}
.green::before {
background-color: green;
}
.red::before {
background-color: red;
}
.yellow::before {
background-color: yellow;
}
.pstyle {
display: inline-block;
margin-left: 0px;
}
.widthcontainer {
width: 100%;
height: auto;
background-color: red;
}
<div class="centerbox">
<span class="">En el almacén |</span>
<p class="pstyle">0</p>
</div>
我希望代码像现在一样工作,但是如果 <p>
有一个特定的字母“f”,我希望它给我写一个字符串。
有办法吗?我在想转换字符串之类的东西,但我似乎真的做不到。
不要使用 let number = Number(content);
而是简单地写 let number = content;
在javascript中它会自动比较值和数字,当内容有字母时数字比较会return false
.
let boxes = document.getElementsByClassName("centerbox")
for (let i = 0; i < boxes.length; i++) {
let box = boxes.item(i)
let content = box.getElementsByTagName("p")[0].innerHTML
let number = content;
if (number <= 0) {
box.classList.add("red");
}
else if (number >= 1 && number < 5) {
box.classList.add("yellow");
}
else if (number >= 5) {
box.classList.add("green");
}
else if (number == 'f') {
box.classList.add("green");
}
}
.centerbox::before {
content: "";
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
}
.green::before {
background-color: green;
}
.red::before {
background-color: red;
}
.yellow::before {
background-color: yellow;
}
.pstyle {
display: inline-block;
margin-left: 0px;
}
.widthcontainer {
width: 100%;
height: auto;
background-color: red;
}
<div class="centerbox">
<span class="">En el almacén |</span>
<p class="pstyle">f</p>
</div>
我编写了一些代码(在你们的帮助下),想知道是否有任何方法可以使 JavaScript 使用特定字母而不是数字。
let boxes = document.getElementsByClassName("centerbox")
for (let i = 0; i < boxes.length; i++) {
let box = boxes.item(i)
let content = box.getElementsByTagName("p")[0].innerHTML
let number = Number(content)
if (number <= 0) {
box.classList.add("red");
}
else if (number >= 1 && number < 5) {
box.classList.add("yellow");
}
else if (number >= 5) {
box.classList.add("green");
}
}
.centerbox::before {
content: "";
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
}
.green::before {
background-color: green;
}
.red::before {
background-color: red;
}
.yellow::before {
background-color: yellow;
}
.pstyle {
display: inline-block;
margin-left: 0px;
}
.widthcontainer {
width: 100%;
height: auto;
background-color: red;
}
<div class="centerbox">
<span class="">En el almacén |</span>
<p class="pstyle">0</p>
</div>
我希望代码像现在一样工作,但是如果 <p>
有一个特定的字母“f”,我希望它给我写一个字符串。
有办法吗?我在想转换字符串之类的东西,但我似乎真的做不到。
不要使用 let number = Number(content);
而是简单地写 let number = content;
在javascript中它会自动比较值和数字,当内容有字母时数字比较会return false
.
let boxes = document.getElementsByClassName("centerbox")
for (let i = 0; i < boxes.length; i++) {
let box = boxes.item(i)
let content = box.getElementsByTagName("p")[0].innerHTML
let number = content;
if (number <= 0) {
box.classList.add("red");
}
else if (number >= 1 && number < 5) {
box.classList.add("yellow");
}
else if (number >= 5) {
box.classList.add("green");
}
else if (number == 'f') {
box.classList.add("green");
}
}
.centerbox::before {
content: "";
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
}
.green::before {
background-color: green;
}
.red::before {
background-color: red;
}
.yellow::before {
background-color: yellow;
}
.pstyle {
display: inline-block;
margin-left: 0px;
}
.widthcontainer {
width: 100%;
height: auto;
background-color: red;
}
<div class="centerbox">
<span class="">En el almacén |</span>
<p class="pstyle">f</p>
</div>