www*_*jsw 0 javascript ternary-operator
我试图在输入为空时设置背景,并在有一些输入时保持此值
function emptyto(element){
return element.value == '' ? element.style.backgroundColor = "#ccc" : element.val()
}
Run Code Online (Sandbox Code Playgroud)
您只是将作业放在错误的位置:
function emptyto(element){
return element.style.backgroundColor = element.value == '' ? "#ccc" : element.val();
// ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
Run Code Online (Sandbox Code Playgroud)
另外:DOM元素没有val方法。您要么想value在两个地方都使用:
function emptyto(element){
return element.style.backgroundColor = element.value == '' ? "#ccc" : element.value;
// ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用的是jQuery,则包装元素并val在两个地方都使用(以及css):
function emptyto(element){
var $el = $(element);
return $el.css("backgroundColor", $el.val() == '' ? "#ccc" : $el.val());
}
Run Code Online (Sandbox Code Playgroud)
实际上,由于它''是一个伪造的值,因此我们可以使用功能强大的||运算符 1来简化该运算:
function emptyto(element){
return element.style.backgroundColor = element.value || "#ccc";
}
Run Code Online (Sandbox Code Playgroud)
1(这是我贫乏的小博客上的帖子。)
| 归档时间: |
|
| 查看次数: |
330 次 |
| 最近记录: |