团结在一个条件语句IF不同的条件语句IF(JavaScript)的
var message;
if ($('#one').length == 1){
message = "101";
}
if ($('#two').length == 2){
message = "102";
}
if ($('#third').length == 3){
message = "103";
}
console.log(message);
如何我都可以如果一个IF使用操作符(||或其他),并根据病情的不同表现出不同的消息都团结起来? 我试过,但很不幸。 谢谢你的提前。团结在一个条件语句IF不同的条件语句IF(JavaScript)的
其实你可以简单地做
var message = "10"+$('#one').length;
console.log(message);
注意,有一个条件0
长度。但是,为什么你有多个具有相同ID的元素?你是说上课?
我道歉这个问题是不正确的,我纠正它 – Makhnov
所得使用选择器"#one"
应始终是无论0
或1
如document
元件的id
应该是唯一的.length
,而不是在另一元件复制。
如果存在具有在在HTML和使用选择器".one"
元素id
"one"
替代class
为id
多个元件。
我很抱歉,这个问题是不正确的,我纠正它 – Makhnov
这个问题已经发生了变化,说实话比以前更少了。
我要做的是假设您要选择所有三个元素,并根据找到的实际元素的数量来配置消息。我将使用下面的第二个示例来展示如何使用ID,尽管类更好。
var msgs = {
1: "101",
2: "102",
3: "103",
}
var message = msgs[$("#one,#two,#three").length] || "Unknown";
所以,现在它会尝试选择所有三个,并将根据实际发现的数量给出消息。
这再次不假设实际情况就像将长度附加到字符串一样简单。
原来的答案
我不会做出假设有总是会成为.length
和消息之间的这种整洁的配对。
因此,更通用的解决方案是使用switch
语句。
var message;
switch ($('#one').length) {
case 1: message = "101"; break;
case 2: message = "102"; break;
case 3: message = "103"; break;
default: message = "Unknown";
}
console.log(message);
一个switch
是不是唯一的方式。您还可以创建一个将数字与消息相关联的对象。
var msgs = {
1: "101",
2: "102",
3: "103",
}
var message = msgs[$("#one").length] || "Unknown";
注意,jQuery将只返回一个元素的ID选择,虽然querySelectorAll
可以返回多,但重复的ID是不好的。
我道歉的问题是不正确的,我纠正它 – Makhnov
你可以在问题中包含HTML吗? – guest271314
我对这个问题表示抱歉,我纠正了它 – Makhnov
你是说在页面上有三个元素,ID为'three'?我想你已经陷入了询问你的解决方案而不是描述实际问题的陷阱。 – llama