2010-12-13 166 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";