2014-02-11 33 views
0

鑑於這種標記:jQuery的從空間刪除項分隔的數據屬性

<a data-foo="bar baz">Hello</a> 

是否可以刪除baz但保持bar,最好不同時除去隨後加回bar

jQuery removeData方法似乎刪除指定的數據屬性或所有數據屬性。

+0

是的,對不起。修復。 –

+0

@Johan另一個大腦放屁,對不起。這是一個空格分隔的列表。 Quesiton更新。 –

+0

@Satpal問題修復。 –

回答

5

你可以做

$('a').data('foo', $('a').data('foo').split(' ')[0]) 
2

我真的不知道這是你在找什麼,但是這可能會幫助

  1. 首先得到該數據FOO值

    var foo = $('a').data('foo')

  2. foo字符串拆分爲N排列

    var foos = []

    foos = foo.split(" ")

  3. 選擇您想保留的物品(或刪除您要刪除的項目)

    var index = foos.indexOf("baz")

    foos.splice(index,1)

  4. 認沽串回來了R 2與僅左FOOS

    var foo = foos.join(" ")

  5. 設置數據FOO到新的過濾一個

    $('a').data('foo',foo)

2

假設數據是一個空間分隔的字符串:

var data = $("a").data("foo"); 
data = (" " + data + " ").replace(" baz ", " ").replace(/^ | $/g, ""); 
$("a").data("foo", data); 

這應該適用於foo bazbaz foo,foo baz bar