Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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文本更改不更改ID_Javascript - Fatal编程技术网

Javascript文本更改不更改ID

Javascript文本更改不更改ID,javascript,Javascript,我有一个onclick javascript函数,其目标是将表的文本更改为其他内容 function functionL1() { if (document.getElementById("A1").innerHTML = "Text 1" ) { var Transfer1 = document.getElementById("B1 ").innerHTML; document.getElementById("A1").innerHTML = Trans

我有一个onclick javascript函数,其目标是将表的文本更改为其他内容

function functionL1() {
    if (document.getElementById("A1").innerHTML = "Text 1" ) {
        var Transfer1 = document.getElementById("B1 ").innerHTML;
        document.getElementById("A1").innerHTML = Transfer1;
}
这是可行的,但我想让它使相同的文本只出现一次

不幸的是,这不起作用

function functionL1() {
    if (document.getElementById("A1").innerHTML = "Text 1" ) {
        var Transfer1 = document.getElementById("B1 ").innerHTML;
        document.getElementById("A1").innerHTML = Transfer1;
    }
    else if (document.getElementById("A2").innerHTML = "Text 1" ) {
        var Transfer2 =  document.getElementById("P1").innerHTML;
        document.getElementById("A2").innerHTML = Transfer2;
    }
}
我认为这是因为在将
A1
更改为
B1
之后,javascript函数无法识别
A1
不再是文本1

有人知道怎么解决这个问题吗


注意:将
innerhtml
替换为
value
不起作用

,正如@Gerald Schneider在评论中所说

function functionL1() {
    if (document.getElementById("A1").innerHTML = "Text 1" ) {
        var Transfer1 = document.getElementById("B1 ").innerHTML;
        document.getElementById("A1").innerHTML = Transfer1;
    }
    else if (document.getElementById("A2").innerHTML = "Text 1" ) {
        var Transfer2 =  document.getElementById("P1").innerHTML;
        document.getElementById("A2").innerHTML = Transfer2;
    }
}
您使用的是(
=
)而不是(
=
/
=
)。这肯定是你的问题之一

另一个原因可能是,您的单元格不仅包含文本,而且还包含一些标记?如果是这种情况,并且您查看了它,那么
.innerHTML
的值将不同于您看到的内容


JS中还有一个名为
.textContent
document.getElementById(“A1”).innerHTML=“Text 1”
的属性将文本分配给变量,并始终计算为
true
。你很可能想要
=
。不,这根本不起作用
=
是用来给变量赋值的
=
==
用于比较值。第二个函数永远不会执行
else if
部分,因为
if
始终为真。我在编写此答案时甚至没有检查注释。这些评论在简短的lol中解释得几乎相同。