最近我一直在使用128位AES加密来加密我的主键,导致诸如
之类的值 eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ==
将值放在数据属性中(例如下面的示例)可以正常工作。
<a data-pk="eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ=="></a>
但是,如果我尝试在Jquery中匹配data-pk
属性,请参阅下文,将不会返回任何html元素。
有什么想法吗?
$("a[data-pk='eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ==']")
参见JSFiddle:http://jsfiddle.net/8fm1tqma/
W3C HTML5 draft中没有任何内容涉及data-
属性的值长度限制。
答案 0 :(得分:0)
更新您的代码,$("selector")[0]
会返回dom
元素(在这种情况下为HTML <a> Tag
),dom
没有名为{{1的属性这就是你得到的原因。 length
。
通过undefined
方法从data-pk
获取dom
属性。
例如: -
dom.getAttribute("attribute-name")
这是小提琴http://jsfiddle.net/vikrant47/8fm1tqma/5/
或者只需使用$.data()
即可alert($("a[data-pk='eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ==']")[0].getAttribute("data-pk").length);//call getAttribute on dom which returns pk
答案 1 :(得分:0)
您可以使用
获取特别匹配的data-pk值的文本alert($("a[data-pk='eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ==']").text());
你可以使用
找到pk的长度alert($("a").data('pk').length);