2012-04-06 75 views
2

我有一個數據切換=「下拉」,我試圖刪除的href。 這段代碼似乎並不工作:如何從html中刪除數據元素

$(document).on('click','a',function() { 
$(this).data('toggle','Phillip Senn'); 
}); 

相反,螢火蟲是顯示還是等於「下拉菜單」,並有一個新的「切換」 attribut等於「菲利普Senn的」數據撥動。

我想要做的是完全刪除它。

+0

如果您向我們展示了您的HTML,我們可能知道您在HTML元素上有數據切換屬性,這也是必須解決的。如果你沒有向我們展示你的HTML,那麼你就一定會得到一個完整的或最好的答案 - 永遠。 – jfriend00 2012-04-06 00:50:18

+0

從HTML中刪除它意味着什麼?你真的試圖從'a'元素中移除屬性嗎?或者元素的'dataset'屬性?或者你想從jQuery的'.data()'存儲清除它?這些都是不同的。 – 2012-04-06 00:51:10

+0

啊。我找到了解決方案。我可以使用removeAttr('data-toggle')將其刪除。 – 2012-04-06 00:55:05

回答

4

如果你有在HTML屬性和要刪除它和jQuery的數據,那麼你可以使用這個:

this.removeAttribute("data-toggle"); 
$(this).removeData('toggle'); 

只,jQuery的數據與後續寫入更新.data() ,但是如果你想刪除最初在HTML對象上的屬性,那麼你也必須調用removeAttribute()

+0

BAM!你會得到一個綠色的複選標記! – 2012-04-06 01:00:41

2

我覺得是這樣的......

$(this).removeData('toggle'); 

要刪除屬性:

$(this).removeAttr("the-name-of-the-attribute"); 
+0

刪除我添加的數據,但它不會刪除數據切換屬性或值。 – 2012-04-06 00:49:01

2

removeData

我不明白人們怎麼花時間發佈提問當使用谷歌搜索jquery remove data和點擊第一個結果會給他們在只有一小部分時間的答案...

+0

我知道。你會認爲JavaScript會如此簡單,不是嗎?投票給佩德羅! – 2012-04-06 00:43:15

+0

在他們的示例中,他們使用jQuery.data命令添加了數據。但就我而言,這是一個數據切換屬性。我想知道如果這是它不起作用的原因。 – 2012-04-06 00:45:14

+0

@Pedro:[this](http://jsfiddle.net/NPJjX/)完美無缺。如果它不適合你,那麼你需要更清楚地陳述你的問題,並提供一個能夠真正再現問題的測試用例。我們不是通靈者;-) – RobIII 2012-04-06 00:52:18