0

我有一个包含以下代码片段的网页:

...
<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 papiersQA 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>

该脚本适用于第一行,但不适用于第二行。我知道问题与é第二个脚本中的特殊字符有关,但我不知道如何解决问题。请帮忙,谢谢。

4

2 回答 2

1

Unicode 是一个复杂的东西。该字符集有两种不同的书写字符,例如áé等。

将其中一个é字符替换为另一个字符可能会解决您的问题。(您可以在 Wikipedia 上阅读更多相关信息。)

如果您仍然有问题,请检查JavaScript 文件和网页编码所使用的编码。

网页和 JavaScript 文件都应采用 UTF-8 编码,并将其传达给浏览器。这意味着该网页必须至少具有以下一项

  • 指定字符编码的 HTTP 标头;例如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属性
  • 使用指定字符编码的 HTTP 标头;例如Content-Type: text/javascript; charset=UTF-8

进一步阅读:

于 2012-09-26T14:09:56.987 回答
0

可能的解释是未在 HTTP 标头中正确声明 JavaScript 文件的字符编码。可能 JavaScript 文件被解释为 ISO-8859-1 或 Windows-1252 编码,但实际上是 UTF-8 编码,反之亦然,这意味着“é”不是它应该的样子。一个简单的检查方法是alert('é')。关于编码问题,请查看 W3C 页面Character encodings

于 2012-09-26T15:52:59.833 回答