Javascript Jquery数据属性不工作
我知道它是重复的,但请看下面 我的锚链Javascript Jquery数据属性不工作,javascript,jquery,Javascript,Jquery,我知道它是重复的,但请看下面 我的锚链 <a onclick="updateStatus(this)" data-pid="@job.Id" data-act="@action.Activity" data-sts="@action.StatusToSet" class="btn btn-xs btn-circle @action.CssClass @action.BackgroundColor" href="#">
<a onclick="updateStatus(this)" data-pid="@job.Id" data-act="@action.Activity" data-sts="@action.StatusToSet" class="btn btn-xs btn-circle @action.CssClass @action.BackgroundColor" href="#">
@action.Text
</a>
但我对以上所有内容都没有定义。我看不出有什么问题,有人能指出吗。我的jquery版本是1.11。在调用
updateStatus()时,应该将作为参数传递
将元素传递给函数
函数更新状态(elm){
变量preAssignedJobId=$(elm).data(“pid”);
var活动=$(elm).data(“act”);
var statusToSet=$(elm).data(“sts”);
$(elm.text(“hhH”);
}
由于您已经在使用jQuery,请从HTML代码中删除onclick,并为其提供jQuery事件处理程序
HTML
您只需将单击
事件委托给锚定
并提取所需信息即可
$('a').on("click",function(e)
{
//e.preventDefault();
var preAssignedJobId = $(this).data("pid");
alert(preAssignedJobId);
var activity = $(this).data("act");
var statusToSet = $(this).data("sts");
});
示例:这并不是您所认为的那样。虽然这与您的问题无关,但我想指出,.data(“pid”)
可能会将您的id转换为整数。这可能是可取的,也可能不是可取的。使用.attr(“数据pid”)
返回一个字符串,您可以更可预测地处理该字符串。
<a onclick="updateStatus(this)" data-pid="@job.Id" data-act="@action.Activity" data-sts="@action.StatusToSet" class="btn btn-xs btn-circle @action.CssClass @action.BackgroundColor" href="#">
@action.Text
</a>
function updateStatus(param) {
// Then use param
var preAssignedJobId = $(param).data("pid");
var activity = $(param).data("act");
var statusToSet = $(param).data("sts");
}
<a id="anch1" data-pid="@job.Id" data-act="@action.Activity" data-sts="@action.StatusToSet" class="btn btn-xs btn-circle @action.CssClass @action.BackgroundColor" href="#">
@action.Text
</a>
$(function(){
$("#anch1").click(function(){
var $this = $(this);
var preAssignedJobId = $this.data("pid");
var activity = $this.data("act");
var statusToSet = $this.data("sts");
});
});
$('a').on("click",function(e)
{
//e.preventDefault();
var preAssignedJobId = $(this).data("pid");
alert(preAssignedJobId);
var activity = $(this).data("act");
var statusToSet = $(this).data("sts");
});