2014-09-02 20 views
0

最近我一直在使用AES加密,128比特加密我的主鍵,產生的值,如Jquery的匹配失敗長串長度的

eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ==

在數據放置值HTML屬性屬性,如下面的例子,工作得很好。

<a data-pk="eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ=="></a>

但是,如果我嘗試匹配jQuery的是data-pk屬性,見下文,沒有HTML元素將被退回

任何想法?

$("a[data-pk='eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ==']")

見的jsfiddle:http://jsfiddle.net/8fm1tqma/

沒有什麼在W3C HTML5 draft關於限制在值長度data-屬性。

+1

找到PK的長度,PK值擺脫[0]您的jsfiddle,你想找到的元素,你的長度」重新詢問第一個找到的元素的長度。然後它會提醒'1' – Jason 2014-09-02 05:25:22

+0

確實它現在工作,但無法在我的應用程序中使用jQuery 2.1.1 – Mysteryos 2014-09-02 05:30:10

+0

不知道確切的原因。但請嘗試使用'.size()'並查看它是否適用於您的應用。 – 2014-09-02 05:31:36

回答

0

更新您的代碼$("selector")[0]回報您元素的dom(在這種情況下HTML <a> Tag)和dom沒有名爲length財產。那就是爲什麼你得到。 undefined
通過dom.getAttribute("attribute-name")方法從dom獲取您的data-pk屬性。

如: -

alert($("a[data-pk='eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ==']")[0].getAttribute("data-pk").length);//call getAttribute on dom which returns pk 

這裏的http://jsfiddle.net/vikrant47/8fm1tqma/5/

或者根本就用$.data()

alert($("a").data("pk").length);//length of pk data 

這裏的小提琴http://jsfiddle.net/vikrant47/8fm1tqma/2/

0

撥弄你可以得到的文本特別是匹配dat使用

alert($("a[data-pk='eyJpdiI6ImRyMXR5QllPVHM5OEJqdFM3azl2SGc9PSIsInZhbHVlIjoiXC82dVhLQ3pWYnd6QkZZdHZDZlRWSmc9PSIsIm1hYyI6IjgwNmVlMTI0Y2EzMWVmMGI1NTk1OWM5ZGNkYzA0ZWQwYzMwYjNhYzJmOTg2NjUzOTBjZjQ3MmE3YWUwYzY4ZDEifQ==']").text()); 

,並且可以使用

alert($("a").data('pk').length);