2011-09-23 21 views
1

所以我必須使用屬性郎作爲我的選擇和存儲微觀數據,jQuery中的一種習慣。使用屬性微觀數據存儲和選擇一件壞事

Althought它不是W3 compliant.But是一件好事。 也有其他任何替代方案。

這樣的事情。 $('[lang = 153]')得到這個dom和$(this)[0] .lang來獲取數據。

+0

也許舉例說明你在做什麼? –

+0

'.data'可以是一個很好的選擇。 http://api.jquery.com/data/ –

+0

這樣的事情。 $('[lang = 153]')得到這個dom 和$(this)[0] .lang來獲取數據。 –

回答

1

你可以把數據放到你的元素使用數據 - 前綴:

<div data-lang="123">Text</div> 

然後你就可以選擇這個元素並讀取這樣的數據:

var lang = $('[data-lang="123"]').data('lang'); 

http://jsfiddle.net/C3LCp/

1

正如你所說的,它不符合W3。這不是你的網站可能面臨的最糟糕的事情,但它肯定不是一件好事。
您的方法的優點是您可以通過這種方式更多地使用選擇器。 我推薦,因爲您使用jquery,使用data方法存儲數據(任何類型的對象 - 不是一個簡單的lang=更多)右側所選擇的DOM元素。

1

存儲與jQuery的數據,你應該使用data()

您存儲數據:

$('#myid').data('mydata', 'mydata') 

,你檢索:

$('#myid').data('mydata') 

您也可以與屬性和訪問它寫你的元素:

<div id='myid' data-mydata='this is the data'></div> 

var my = $('#myid').data('mydata'); //my is equal to 'this is the data' 
+0

但我想作爲一個DOM使用 如: 我找到了一些點擊 ID = 13 一些ID,並希望做與此相關的ID $(「[LANG =」 + 13 +」一個DOM東西]') –

+0

我更新了我的答案我不完全明白你的意思做 –

1

一點也沒有」不會導致問題,儘管它會導致您的HTML不符合標準。

HTML5推出這樣使用屬性與data-這樣開始的一個有效途徑:

<div data-billy="bob"></div> 

我建議切換到該樣式。有關更多信息,請參閱John Resig's說明。

+0

可以將數據屬性來作爲選擇,可以與 即 –

+0

這項工作他們是從概念上與你使用什麼現在沒有什麼不同,可以是用作jQuery中的選擇器。 – mattmanser