使用jQuery更改HTML属性

时间:2010-12-13 15:48:10

标签: javascript jquery html

我正在使用jQuery 1.4.4。我有这个源代码:

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

    </ul>
</div>

如何在jQuery中将data-filter属性更改为true? 我试过例如:

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

但它不起作用。

有人有想法吗?

最诚挚的问候。

8 个答案:

答案 0 :(得分:8)

attr的语法是$.attr(attributeName, value);。试试这个:

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

答案 1 :(得分:6)

由于您使用的是jQuery 1.4.4和“数据”属性,因此可以使用jQuery's .data() method

示例: 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数据属性将自动引入jQuery的数据对象。

答案 2 :(得分:3)

你使用了错误的语法。试试这个:

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

答案 3 :(得分:2)

试试这个:

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

或者可能

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

答案 4 :(得分:1)

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

http://api.jquery.com/attr/

答案 5 :(得分:1)

尝试$('#testlist')。attr(“data-filter”,“true”);代替

答案 6 :(得分:1)

.attr的正确用法是.attr(name, value)

所以将代码更改为

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

http://api.jquery.com/attr/

答案 7 :(得分:1)

所以你正在使用自定义属性的HTML5语法......很好。

有一个jQuery metadata plugin允许您以更加语义的方式访问这些属性。只需使用它:

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

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