为什么我不能用jQuery设置我的数据属性?

时间:2012-10-09 13:21:29

标签: javascript jquery

我有以下内容:

editCity: "/Admin/Citys/Edit?pk=0001I&rk=5505005Z"

$('#editCity')
    .attr('title', "Edit City " + rk)
    .data('disabled', 'no')
    .data('href', editCity)
    .removeClass('disabled');

当我使用开发人员工具检查HTML时,我看到了:

<div class="button dialogLink" id="editCity" 
data-action="EditCity" data-disabled="yes" 
data-entity="City" title="Edit City 5505005Z" ></div>

除了href之外,所有内容都会更新。任何人都有自己错误的想法吗?

3 个答案:

答案 0 :(得分:1)

使用

var editCity = "/Admin/Citys/Edit?pk=0001I&rk=5505005Z";

你所做的是一个labeled statement,只包含一个字符串文字并且缺少一个分号。


顺便说一下,jQuery的.data() method不能用于数据属性,而只是用于将JS对象与DOM元素相关联。

答案 1 :(得分:1)

我认为jQuery会在内部存储数据,如果它们在您第一次设置时不存在。如果你真的想强迫它:

$("#editCity").attr("data-href",editCity)

答案 2 :(得分:-1)

您无法将href属性设置为div。 您可以使用data-href,或使用a-tag而不是div。