gpt4 book ai didi

jquery - 为什么 jQuery 会自动解析我的 data-* 属性?

转载 作者:搜寻专家 更新时间:2023-10-31 08:06:30 25 4
gpt4 key购买 nike

我刚刚注意到,如果我尝试使用 .data 读取 html5 data-* 属性,它将自动解析,而使用 .attr 读取值 不会。

data-id="00123456"

为什么这是默认行为?我有某些对象,其字段是字符串中的数值,例如“00123456”而不是 123456。

我是不是错过了 jQuery changelog 备忘录或什么?

最佳答案

引自documentation :

As of jQuery 1.4.3 HTML 5 data- attributes will be automatically pulled in to jQuery's data object. The treatment of attributes with embedded dashes was changed in jQuery 1.6 to conform to the W3C HTML5 specification.

For example, given the following HTML:

<div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'></div>

All of the following jQuery code will work.

$("div").data("role") === "page";

$("div").data("lastValue") === 43;

$("div").data("hidden") === true;

$("div").data("options").name === "John";

Every attempt is made to convert the string to a JavaScript value (this includes booleans, numbers, objects, arrays, and null) otherwise it is left as a string. To retrieve the value's attribute as a string without any attempt to convert it, use the attr() method.

所以看起来自 jQuery 1.6 以来 .data方法解析值。

关于jquery - 为什么 jQuery 会自动解析我的 data-* 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7340409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com