2016-08-23 62 views
0

我有我的網站上兩個範圍:使用。數據添加數據屬性使用jQuery

<span class="view-toggle"></span>

而且我想首先設置data-status="inactive"(以清除任何設置它),然後添加data-status="active"爲一個元素。

我有以下幾點:

$('.view-toggle').find().data("status","inactive"); 
$(button).data("status", "active"); 

我可以證實,$(button)正確標識,我想補充active到一個跨度。

我沒有得到任何控制檯錯誤,但我也沒有得到任何數據屬性的添加。

我錯誤地使用了data()嗎?

+0

什麼是'.find()'沒有選擇器?從文檔:_不像大多數樹遍歷方法**,在調用.find()時需要選擇器表達式** ._ – Andreas

回答

3

讓你的屬性值:

<strong id="the_id" data-original-title="I NEED THIS"> 

$('#the_id').data('original-title'); 

設置你的屬性值

$('#div').attr(attname,attvalue); 
2

find()方法在代碼中沒有任何意義,只是刪除它。

$('.view-toggle').data("status","inactive"); 
$(button).data("status", "active"); 


使用 attr()如果你想反映HTML代碼中的屬性值的方法。

$('.view-toggle').attr("data-status","inactive"); 
$(button).attr("data-status", "active"); 


參見: jQuery Data vs Attr?

+0

好,那麼如何正確使用'.data()' - 這不是它的用途? – user1486133

+0

@ user1486133:查看區別http://stackoverflow.com/questions/7261619/jquery-data-vs-attr –

0

是沒有用的.find(),沒有任何選擇器。

要設置任何屬性,請使用.attr(「attr-name」,「attr-value」); 並獲得attr值使用.data(「data-status」);