2

各LI子タグに「value」という名前の属性があり、その値がGUIDであるULリストがあります。ある特定のGUIDの場合、IEはGUIDの最初の部分のみをレンダリングすることがわかりました(たとえば、GUIDが93365457-30bc-45e4-a85a-b74728ec83fcの場合、「value」属性の値は93365457です。他のGUIDの場合値は正しくレンダリングされます。

この単純なhtmlを開くことでテストできます。

<!DOCTYPE html>
<html>
   <head>
      <title>Guid on IE test</title>
      <meta charset="utf-8">
    </head>
    <body>
      <ul>
         <li value="79c8c2b5-ea63-4a4e-8b2e-c55c8f814e83">1</li>
         <li value="93365457-30bc-45e4-a85a-b74728ec83fc">2</li>
         <li value="352c32a6-596e-4897-b297-7b5fb4a06bb1">3</li>
      </ul>
   </body>
</html>

最初と3番目のliは正しくレンダリングされますが、2番目は正しくレンダリングされません。IEの開発ツールを使用し、JavaScriptを使用して値を読み取ることでこれを確認しました。

私はこの問題をWin2008のIE8,9とWin8のIE10でテストして複製しました

この問題の既知の修正はありますか?

MS Project Server2010とSharepoint2010で作業しているときにこの問題に遭遇しました(PJS 2010ルックアップタイプのカスタムフィールドは、LIタグがルックアップアイテムと「値」である上記のようなulを含むiframeとしてレンダリングされます"属性には、各ルックアップアイテムの一意のIDがあります)。

後で編集:

明らかに、最初の部分が数値であるすべてのGUID/UUIDは切り捨てられます。最初の部分が英数字であるものはしません

4

2 に答える 2

1

html5 ドラフトによると、確かに li の値属性を持つことができますが、順序付けられたリスト ( <ol>) 内のもののみです。

要素が ol 要素の子である場合: 値

出典: w3c の li 仕様

さらに:

value 属性が存在する場合は、リスト項目の序数値を示す有効な整数でなければなりません。

出典: w3c の li の値属性

次に、それがおそらく IE が値を適切に取得していない理由です。その場合は必要ありません。

于 2012-11-21T12:24:39.597 に答える
1

標準では、要素のvalue属性は数値である必要があります。li最初のセクションが数字のみで構成されている GUID は、同じように動作することがわかります。IE が行うことは、それを数値として解析しようとすることだと思います。成功しない場合はそのままにするか、最初のセクションが数値の場合はそれのみを保持します。

あなたが言うように、ソースが MS ソフトウェアによって生成されたものである場合、できることはあまりないと思います (別のブラウザーを使用することを除いて)。それ以外の場合は、代わりにカスタム属性を使用することもできますvalue

于 2012-11-21T12:26:18.210 に答える