Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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_If Statement_Dom_Javascript Objects_Dom Events - Fatal编程技术网

Javascript 如何编写if语句来检查样式属性是否不包含任何内容?

Javascript 如何编写if语句来检查样式属性是否不包含任何内容?,javascript,if-statement,dom,javascript-objects,dom-events,Javascript,If Statement,Dom,Javascript Objects,Dom Events,我试着做一个功能,如果我点击一个没有被击中的跨度,它就会变成这样,反之亦然。我尝试使用if语句,为使用console.dir(x)时返回的属性提供准确的值。在textdearching的情况下,我得到textdearching:“。我怎样才能在id声明中反映这一点 var x = document.querySelectorAll("span") for(var i=0; i<x.length;i++){ x[i].addEventListener("click", funct

我试着做一个功能,如果我点击一个没有被击中的跨度,它就会变成这样,反之亦然。我尝试使用if语句,为使用
console.dir(x)
时返回的属性提供准确的值。在textdearching的情况下,我得到
textdearching:“
。我怎样才能在id声明中反映这一点

var x = document.querySelectorAll("span")

for(var i=0; i<x.length;i++){

    x[i].addEventListener("click", function(){

        if(this.style.textDecoration=""){

            this.style.textDecoration="line-through"
        }
        else{

            this.style.textDecoration=""
        }
})
}
var x=document.querySelectorAll(“span”)

对于(var i=0;i您观察到的问题是因为您在if语句(赋值)中使用了
=
,而不是
=
==
(相等检查)

然而 更好的解决方案是在CSS文件中添加新的类规则:

.lineThrough {
  text-decoration: line-through;
}
然后在JavaScript文件中,只需切换类:

var x = document.querySelectorAll("span");

for(var i=0; i<x.length;i++){
    x[i].addEventListener("click", function(){
        this.classList.toggle("lineThrough");
    });
}
var x=document.querySelectorAll(“span”);

对于(var i=0;i您所拥有的有什么问题?如果(this.style.textdeaction=”“)这是一个赋值,而不是一个比较。使用===运算符进行比较。