Javascript字符串包含&;nbsp";无法匹敌
我有一个HTML文本,它必须在文本中包含Javascript字符串包含&;nbsp";无法匹敌,javascript,html,Javascript,Html,我有一个HTML文本,它必须在文本中包含,然后我使用Javascript获取内部HTML,并进行比较,但它不起作用 var x = randomGen(); document.getElementById("c"+x[0]).innerHTML="  a, b, c  "; document.getElementById("c"+x[1]).innerHTML="  c, d, e&
,然后我使用Javascript获取内部HTML
,并进行比较,但它不起作用
var x = randomGen();
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  ";
function checkans(ans){
if (ans=="  a, a, a  ") {
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内容进行比较。