比较显然相等的字符串JQuery

时间:2014-12-10 11:08:43

标签: javascript jquery html5

   <a id="jobDescription" class="is_html" tabindex="-1" href="/es/backoffice/jobs?job_id=1"><p>Este puesto implica una gran capacidad de organización: - Recibir pedidos - Bla bla.... Y muchas cosas m</p><p>&nbsp;</p><p>pruebassssssssssssssssss</p><p>&nbsp;</p><p>adsfasdfsafad adfasdf asdfas s gfasdpepeluis &nbsp;don chencho&nbsp;</p></a>

   <input type="hidden" value="<p>Este puesto implica una gran capacidad de organización: - Recibir pedidos - Bla bla.... Y muchas cosas m</p><p>&nbsp;</p><p>pruebassssssssssssssssss</p><p>&nbsp;</p><p>adsfasdfsafad adfasdf asdfas s gfasdpepeluis &nbsp;don chencho&nbsp;</p>">

我有两个HTML标签。我需要比较它们的值和文本,但问题是无论我做什么,即使它们实际上是相同的,我也会得到一个假值。这是我的jQuery代码:

oldValue = $(elem).find("input[type='hidden']").val();
newValue = $(elem).children()[0].innerHTML.replace(/&nbsp;/g,' ');;

如您所见,隐藏元素保持oldValue,而a链接保持newValue。使用谷歌Chrome的开发者工具,我可以使用控制台在比较它们之前打印出值,得到这个结果:

newValue
"<p>Este puesto implica una gran capacidad de organización: - Recibir pedidos - Bla bla.... Y muchas cosas m</p><p> </p><p>pruebassssssssssssssssss</p><p> </p><p>adsfasdfsafad adfasdf asdfas s gfasdpepeluis  don chencho </p>"

oldValue
"<p>Este puesto implica una gran capacidad de organización: - Recibir pedidos - Bla bla.... Y muchas cosas m</p><p> </p><p>pruebassssssssssssssssss</p><p> </p><p>adsfasdfsafad adfasdf asdfas s gfasdpepeluis  don chencho </p>"

newValue == oldValue
false

这里可能出现什么问题?

2 个答案:

答案 0 :(得分:0)

我发现你已经替换了newvalue中的&amp; nbsp而不是oldvalue,这可能意味着......

你能发布完整的代码,以便更清楚地了解你在做什么吗?

编辑: 如果有帮助: What is the correct way to check for string equality in JavaScript?

答案 1 :(得分:0)

显然,使用replace(/&nbsp;/g,' ')不足以比较变量中的字符串和元素中的字符串。

this example之后,我设法创建了一个解决问题的小提琴:

link to fiddle