Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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字符串包含&;nbsp";无法匹敌_Javascript_Html - Fatal编程技术网

Javascript字符串包含&;nbsp";无法匹敌

Javascript字符串包含&;nbsp";无法匹敌,javascript,html,Javascript,Html,我有一个HTML文本,它必须在文本中包含,然后我使用Javascript获取内部HTML,并进行比较,但它不起作用 var x = randomGen(); document.getElementById("c"+x[0]).innerHTML="&nbsp&nbspa, b, c&nbsp&nbsp"; document.getElementById("c"+x[1]).innerHTML="&nbsp&nbspc, d, e&

我有一个HTML文本,它必须在文本中包含
,然后我使用Javascript获取
内部HTML
,并进行比较,但它不起作用

   var x = randomGen();
   document.getElementById("c"+x[0]).innerHTML="&nbsp&nbspa, b, c&nbsp&nbsp";
   document.getElementById("c"+x[1]).innerHTML="&nbsp&nbspc, d, e&nbsp&nbsp";
   document.getElementById("c"+x[2]).innerHTML="&nbsp&nbspf, g, h&nbsp&nbsp";
   document.getElementById("c"+x[3]).innerHTML="&nbsp&nbspa, a, a&nbsp&nbsp";

function checkans(ans){
    if (ans=="&nbsp&nbspa, a, a&nbsp&nbsp") {
       alert(ans);
    }
}
HTML正文:

<div class="ans" id="c1" onclick="checkans(this.innerText)"></div>
<div class="ans" id="c2" onclick="checkans(this.innerText)"></div>
<div class="ans" id="c3" onclick="checkans(this.innerText)"></div>
<div class="ans" id="c4" onclick="checkans(this.innerText)"></div>

所有案例都返回false

然后我使用Javascript获取innerHTML并进行比较

事实并非如此。很明显,您使用的是
innerText
,而不是
innerHTML
,这两种方法是不同的

如果您实际使用
innerHTML
,并将代码更正为使用
(当您将
&nsbp
指定给
.innerHTML
时,浏览器会自动将其更改为
&nsbp;
),则代码工作:

var x=[3,2,1,4]
document.getElementById(“c”+x[0]).innerHTML=“a,b,c”;
document.getElementById(“c”+x[1]).innerHTML=“c,d,e”;
document.getElementById(“c”+x[2]).innerHTML=“f,g,h”;
document.getElementById(“c”+x[3]).innerHTML=“a,a,a”;
功能检查(ans){
如果(ans==“a,a,a”){
警报(ans);
}
}
单击“a,a,a”选项以查看警报框
然后我使用Javascript获取innerHTML并进行比较

事实并非如此。很明显,您使用的是
innerText
,而不是
innerHTML
,这两种方法是不同的

如果您实际使用
innerHTML
,并将代码更正为使用
(当您将
&nsbp
指定给
.innerHTML
时,浏览器会自动将其更改为
&nsbp;
),则代码工作:

var x=[3,2,1,4]
document.getElementById(“c”+x[0]).innerHTML=“a,b,c”;
document.getElementById(“c”+x[1]).innerHTML=“c,d,e”;
document.getElementById(“c”+x[2]).innerHTML=“f,g,h”;
document.getElementById(“c”+x[3]).innerHTML=“a,a,a”;
功能检查(ans){
如果(ans==“a,a,a”){
警报(ans);
}
}
单击“a,a,a”选项以查看警报框

您实际上是指文本
-还是非间断空格字符的HTML实体?后者当然需要一个尾随的分号。@CBroe意味着HTML实体是这样的:
当我单击正确的答案时,我想知道为什么它没有达到条件。为什么在
后面没有分号?就像这样:
无论如何,这是一种错误的方式。您正在使脚本的逻辑取决于基本的格式设置。这似乎是一种测验(?),因此您应该将实际需要检查的值放入这些元素的自定义数据属性中,然后进行比较,而不是与innerHTML内容进行比较。您实际上是指文本
-还是不间断空格字符的HTML实体?后者当然需要一个尾随的分号。@CBroe意味着HTML实体是这样的:
当我单击正确的答案时,我想知道为什么它没有达到条件。为什么在
后面没有分号?就像这样:
无论如何,这是一种错误的方式。您正在使脚本的逻辑取决于基本的格式设置。这似乎是一种测验(?),因此您应该将实际需要检查的值放入这些元素的自定义数据属性中,然后进行比较,而不是与innerHTML内容进行比较。