我有一个包含以下代码段的网页:
...
<td nowrap="true" valign="top" width="190px" class="ms-formlabel">
<h3 class="ms-standardheader">
<nobr>
QA Groupe des papiers
<span class="ms-formvalidation" title="Ce champ est obligatoire." > *</span>
</nobr>
</h3>
</td>
...
<td nowrap="true" valign="top" width="190px" class="ms-formlabel">
<h3 class="ms-standardheader">
<nobr>
QA Description métier
<span class="ms-formvalidation" title="Ce champ est obligatoire." > *</span>
</nobr>
</h3>
</td>
<td valign="top" class="ms-formbody">
...
我正在开发一个JavaScript,它应该隐藏包含字符串QA Groupe des papiers
和QA Description métier
的表行。
这是剧本:
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$("h3.ms-standardheader:contains('QA Groupe des papiers')").closest("tr").hide();
$("h3.ms-standardheader:contains('QA Description métier')").closest("tr").hide();
});
</script>
脚本适用于第一行,但不适用于第二行。我知道问题与第二个脚本中的特殊字符é
有关,但我不知道如何解决问题。请帮助,谢谢。
答案 0 :(得分:1)
Unicode是一件复杂的事情。字符集有两种不同的写字符,如á,é等。
将é
个字符中的一个替换为另一个可能会解决您的问题。 (你可以read more about this at Wikipedia。)
如果您仍然遇到问题,请检查编码,使用该文件和网页进行编码。
网页和JavaScript文件都应该是UTF-8编码并将其传达给浏览器。这意味着网页必须至少包含以下
之一Content-Type: text/html; charset=UTF-8
meta
标记; <meta charset=UTF-8>
( HTML5 )或<meta http-equiv=Content-Type content='text/html; charset=UTF-8>
可以使用以下一种或多种方法将JavaScript文件指示为UTF-8:
charset
属性Content-Type: text/javascript; charset=UTF-8
进一步阅读:
答案 1 :(得分:0)
可能的解释是,在HTTP标头中尚未正确声明JavaScript文件的字符编码。可能JavaScript文件被解释为ISO-8859-1或Windows-1252编码,但实际上是UTF-8编码,反之亦然,这意味着“é”不应该是它应该是什么。检查此问题的一种简单方法是alert('é')
。关于编码问题,请查看W3C页面Character encodings。