2010-12-13 205 views
4

我正在使用jQuery 1.4.4。我有這個源代碼:用jQuery更改HTML屬性

<div id="area1"> 
    <ul id="testlist" data-filter="false"> 

    </ul> 
</div> 

如何在jQuery中將數據過濾器屬性更改爲true? 我試過例如:

$('#testlist').attr("data-filter").val(true); 

但它不起作用。

任何想法?

最好的問候。

回答

6

例如:http://jsfiddle.net/patrick_dw/SLskn/

alert($('#testlist').data("filter")); // alerts "false" 

$('#testlist').data("filter",true); 

alert($('#testlist').data("filter")); // alerts "true" 

From the docs:

在jQuery 1.4.3 HTML 5 DATA-屬性將在到jQuery的數據對象被自動拉出的。

+2

** + 1 **爲_right_做到這一點 – Eric 2010-12-13 19:12:48

8

attr的語法是$.attr(attributeName, value);。試試這個:

$('#testlist').attr("data-filter", true); 
+0

而這樣做的好處是,你仍然得到鏈接。 – jthompson 2010-12-13 15:56:07

3

您使用的語法錯誤。試試這個:

$('#testlist').attr("data-filter", true); 
2

試試這個:

$('#testlist').attr("data-filter", "true");

或可能

$('#testlist').attr("data-filter", true);

1

嘗試$('#testlist')。attr(「data-filter」,「true」);而不是

1

因此,您使用自定義屬性的HTML5語法...很好。

有一個jQuery metadata plugin,它允許您以更加語義的方式訪問這些屬性。就像這樣使用它:

// Reading: 
var tooltipTitle = $(".tooltip").metadata().filter; 

// Writing: 
$(".tooltip").metadata().filter = "whatever";