javascript - 在 JavaScript 中测试两个值的相等性,其中内容包含 &

标签 javascript

以下代码片段演示了我的问题。当我测试包含“&”的字符串时,结果始终为 false。

这应该如何处理?请仅使用 JavaScript 解决方案。

		var PROJECT = "This & Somthing Else";
		var PROJECT2 = "This and Somthing Else";

		function testValues()
		{
			if (PROJECT == document.getElementById("curPrjct").innerHTML)
			{
				alert("The Same");
			}else{
				alert("Not The Same");
			}
		}

		function testValues2()
		{
			if (PROJECT2 == document.getElementById("curPrjct2").innerHTML)
			{
				alert("The Same");
			}else{
				alert("Not The Same");
			}
		}
<!doctype html>
<html lang="en">
 <head>
</head>
 <body>
	<span id="curPrjct">This & Somthing Else</span> <br>
	<input type="button" value="Go This will fail" onclick="testValues()"><br><br>
	<span id="curPrjct2">This and Somthing Else</span> <br>
	<input type="button" value="Go This will work" onclick="testValues2()">
 </body>
</html>

最佳答案

尝试查看 HTML 的问题是,当它转换为 DOM 然后再转换回 HTML 时,它将被标准化

& 将转换为 &

比较 textContent 而不是 HTML。

		var PROJECT = "This & Somthing Else";
		var PROJECT2 = "This and Somthing Else";

		function testValues()
		{
			if (PROJECT == document.getElementById("curPrjct").textContent)
			{
				alert("The Same");
			}else{
				alert("Not The Same");
			}
		}

		function testValues2()
		{
			if (PROJECT2 == document.getElementById("curPrjct2").textContent)
			{
				alert("The Same");
			}else{
				alert("Not The Same");
			}
		}
<!doctype html>
<html lang="en">
 <head>
</head>
 <body>
	<span id="curPrjct">This & Somthing Else</span> <br>
	<input type="button" value="Now this will work" onclick="testValues()"><br><br>
	<span id="curPrjct2">This and Somthing Else</span> <br>
	<input type="button" value="Go This will work" onclick="testValues2()">
 </body>
</html>

关于javascript - 在 JavaScript 中测试两个值的相等性,其中内容包含 &,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44328905/

相关文章:

javascript - 使用来自 Firebase 的数据时,卸载组件出现 setState 错误

javascript - 对象 #<HTMLDivElement> 作为 jQuery 对象

javascript - Ruby on Rails - 更改页面滚动上的 Logo 图像未激活

javascript - 排序时的 SlickGrid 选择问题

javascript - Ajax 将表单 ID 值传递到 url 中以发送一个提交 .get ("url")

javascript - 通过键字符串从对象数组中删除属性

javascript - 如何连接 Sequelize 结果?

javascript - 是否可以从控制台看到 "window"中函数中的局部声明变量?

Javascript - for 循环中的 Axios。使用当前获取的响应进行下一次获取数据的迭代

javascript - 嵌套 this 指向错误的变量