Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么内部没有语句的IF条件会删除元素的边框?_Javascript - Fatal编程技术网

Javascript 为什么内部没有语句的IF条件会删除元素的边框?

Javascript 为什么内部没有语句的IF条件会删除元素的边框?,javascript,Javascript,我不知道这是不是一个错误 函数moncheck(){ if($(“.mon”).attr(“样式”、“边框”){ } $(此).attr(“样式”,“边框:1px实心红色”) } $(“.mon”)。在(“单击”,moncheck) .mon{ 宽度:100px; 保证金:5px; } 孟:悬停{ 边框:1px实心; 光标:指针; } $(“.mon”).attr(“样式”、“边框”)将边框设置为nothing-您不会测试它是否已设置 说明: 你点击 $(".mon").

我不知道这是不是一个错误

函数moncheck(){
if($(“.mon”).attr(“样式”、“边框”){
}
$(此).attr(“样式”,“边框:1px实心红色”)
}
$(“.mon”)。在(“单击”,moncheck)
.mon{
宽度:100px;
保证金:5px;
}
孟:悬停{
边框:1px实心;
光标:指针;
}

$(“.mon”).attr(“样式”、“边框”)
将边框设置为nothing-您不会测试它是否已设置

说明:

你点击

$(".mon").attr("style", "border") 
使用class.mon从所有元素中删除边框-然后

$(this).attr("style", "border: 1px solid red")
仅在单击的元素上设置红色边框
$(此)


我建议您切换一个类

也不要添加额外的jQuery

注意:悬停将覆盖计算样式。如果从CSS中删除悬停,您将看到它在单击时的变化

console.log($(“.mon”).css(“border”))
if($(“.mon”).css(“边框”).includes(“0px”))console.log(“无边框”)
const moncheck=函数(){
让compStyles=window.getComputedStyle(this);
console.log(compStyles.getPropertyValue(“border”))
$(this.toggleClass(“withBorder”);
compStyles=window.getComputedStyle(此);
console.log(compStyles.getPropertyValue(“border”))
}
美元(“.mon”)。在(“单击”,moncheck)
.mon{
宽度:100px;
保证金:5px;
}
周一:悬停{
边框:1px实心;
光标:指针;
}
.带边框{
边框:1px纯红;
}

$(“.mon”).attr(“样式”、“边框”)
将边框设置为nothing-您不会测试它是否已设置

说明:

你点击

$(".mon").attr("style", "border") 
使用class.mon从所有元素中删除边框-然后

$(this).attr("style", "border: 1px solid red")
仅在单击的元素上设置红色边框
$(此)


我建议您切换一个类

也不要添加额外的jQuery

注意:悬停将覆盖计算样式。如果从CSS中删除悬停,您将看到它在单击时的变化

console.log($(“.mon”).css(“border”))
if($(“.mon”).css(“边框”).includes(“0px”))console.log(“无边框”)
const moncheck=函数(){
让compStyles=window.getComputedStyle(this);
console.log(compStyles.getPropertyValue(“border”))
$(this.toggleClass(“withBorder”);
compStyles=window.getComputedStyle(此);
console.log(compStyles.getPropertyValue(“border”))
}
美元(“.mon”)。在(“单击”,moncheck)
.mon{
宽度:100px;
保证金:5px;
}
周一:悬停{
边框:1px实心;
光标:指针;
}
.带边框{
边框:1px纯红;
}

if
语句中,必须对您提供的条件进行评估,以返回类似
true
false的值。如果它返回其他内容,它将被评估为
truty
falsy
。。。因为它必须决定是否执行curly braquets中提供的代码块

console.log($(“.mon”).attr(“样式”,“边框”))


“Mon”元素
if
语句中,必须对您提供的条件进行评估,以返回类似
true
false
的内容。如果它返回其他内容,它将被评估为
truty
falsy
。。。因为它必须决定是否执行curly braquets中提供的代码块

console.log($(“.mon”).attr(“样式”,“边框”))


“Mon”元素
“if条件没有语句”。它是:
$(“.mon”).attr(“style”,“border”)
这将
style
属性设置为
“border”
,有效地去除该属性中的任何内容before@blex为什么要取消边界?当您再次单击时,if条件不应该将带有border属性的style属性添加到所有
'mon
元素中吗?为什么上一个边界被删除?“if条件没有语句”。它是:
$(“.mon”).attr(“style”,“border”)
这将
style
属性设置为
“border”
,有效地去除该属性中的任何内容before@blex为什么要取消边界?当您再次单击时,if条件不应该将带有border属性的style属性添加到所有
'mon
元素中吗?为什么上一个的边框被删除了?所以它设置了边框。。那么,为什么上一个img的边界会被删除?为什么不测试它是否被设置?它在条件内。请参阅解释查看更新的代码以测试样式存在它为什么删除边框是我的问题
attr(“style”,“border”
添加了一个边框,那么为什么要删除它?所以它设置了边框..那么为什么要删除上一个img中的边框?为什么不测试它是否已设置?它在条件内。请参阅现在的解释查看更新的代码以测试样式存在它为什么删除边框是我的问题?
attr(“style”,“border”
添加了一个边框,为什么要删除它呢?我之所以这么做是因为
attr()
是一种方法,它在
if
条件内执行,该条件将空的
边框设置为所有
元素。mon
元素,但是…为什么要删除边框?它不应该将边框设置为所有元素而不是删除它吗?是因为边框是空的,也就是说,它确实将边框设置为所有元素,但b因为边框是空的,就像什么都没有设置一样?设置一个没有值的内联
边框
属性会被解释为
边框:无;
而且,内联样式属性优先于样式表,这就是为什么悬停效果不适用的原因。--对红色边框使用一个类…这是正确的