Hom*_*mer 10 jquery html5 internet-explorer-8
我正在测试IE8.我刚刚将jQuery从v1.5.2升级到v1.6.1,现在数据方法无效.
行看起来像这样:
<tr class="ui-widget-content alt" nodeIndex="2" data-DocAttributeFieldType="TextBox" data-DocClassAttributeFieldId="60777" jQuery16106588245076914028="66">
Run Code Online (Sandbox Code Playgroud)
这工作:
$("#docClassAttributeFields tbody tr:first").attr("data-DocClassAttributeFieldId");
Run Code Online (Sandbox Code Playgroud)
这不起作用:
$("#docClassAttributeFields tbody tr:first").data("DocClassAttributeFieldId");
Run Code Online (Sandbox Code Playgroud)
它有错误吗?
这是一个例子.在1.5.2和1.6中运行它以查看它们如何以不同的方式运行... http://jsfiddle.net/5hbKX/
Orb*_*ing 16
从文档 (我怀疑1.6中提到的更改是责备 - 你试过删除案例,看看lastValue示例?):
HTML 5数据 - 属性
从jQuery 1.4.3开始,HTML 5数据属性 将自动引入jQuery的数据对象.在jQuery 1.6中改变了嵌入破折号属性的处理,以符合W3C HTML5规范.
例如,给定以下HTML:
Run Code Online (Sandbox Code Playgroud)<div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'></div>
以下所有jQuery代码都可以使用.
Run Code Online (Sandbox Code Playgroud)$("div").data("role") === "page"; $("div").data("lastValue") === 43; $("div").data("hidden") === true; $("div").data("options").name === "John";
每次尝试都将字符串转换为JavaScript值(这包括布尔值,数字,对象,数组和null),否则它将保留为字符串.要将值的属性检索为字符串而不尝试转换它,请使用attr()方法.当data属性是一个对象(以'{'开头)或数组(以'['开头)时,则使用jQuery.parseJSON来解析字符串; 它必须遵循有效的JSON语法,包括引用的属性名称.数据属性在第一次访问数据属性时被拉出,然后不再被访问或变异(然后所有数据值都在内部存储在jQuery中).
从上面的HTML5规范:
甲自定义数据属性是在没有命名空间的名字以字符串"数据- "开头的属性,具有连字符后的至少一个字符,是XML兼容,并且包含在范围内的任何字符U + 0041到U + 005A(拉丁文大写字母A到拉丁文大写字母Z).
HTML文档中HTML元素的所有属性都会自动进行ASCII小写,因此对ASCII大写字母的限制不会影响此类文档.
归档时间: |
|
查看次数: |
11354 次 |
最近记录: |