IE8、9、10 中的 HTML 和 GUID

标签 html internet-explorer guid

我有一个 UL 列表,其中每个 LI 子标签都有一个名为“value”的属性,它的值是一个 GUID。 我发现对于一个特定的 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>

第一个和第三个 li 被正确渲染,但第二个却没有。 我已经通过使用 IE 的开发人员工具并使用 javascript 读取该值来检查了这一点。

我已经在 Win2008 上的 IE 8,9 和 Win 8 上的 IE 10 上测试并重复了此问题

此问题有任何已知的修复方法吗?

我在使用 MS Project Server 2010 和 Sharepoint 2010 时遇到了这个问题(PJS 2010 查找类型自定义字段被渲染为包含 ul 的 iframe,如上面列出的 ul,其中 LI 标记是查找项, “value”属性具有每个查找项的唯一 ID)。

稍后编辑:

显然,所有第一部分是数字的 GUID/UUID 最终都会被截断。第一部分是字母数字的则不是

最佳答案

根据 html5 草案,您确实可以为 li 设置 value 属性,但仅限于 有序 列表 ( <ol> ) 内的属性:

If the element is a child of an ol element: value

来源:li spec on w3c

此外:

The value attribute, if present, must be a valid integer giving the ordinal value of the list item.

来源:value attribute for li on w3c

那么,这可能就是 IE 无法正确检索该值的原因:在这种情况下它不需要这样做。

关于IE8、9、10 中的 HTML 和 GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13492742/

相关文章:

javascript - 如何添加到 HTML 附件,例如 href =""

javascript - jQuery 计算图像背景位置的顶部位置?

internet-explorer - 哪些 plupload 运行时适用于 IE?

c# - 软件 GUID 是否应该与程序集 GUID 不同?

postman - Postman 中的 {{$guid}} 有何用途?

javascript - 如何动态添加选项卡到 Angular primeNg tabview 控件?

javascript - 如何使用 window.print() 在 javascript 中传递页面的打印范围?

c# - Selenium WebDriver(IE 驱动程序)无法找到包含 ID 子字符串的元素

css - 使用 ASP.NET 的 Web 控件呈现和 html 表格属性之间的区别

c# - 将字节数组从 Oracle RAW 转换为 System.Guid?