为什么.data不起作用?

时间:2016-11-24 03:37:51

标签: c# jquery

新手在这里,我已经超过2个小时! :(

如果有人能告诉我为什么这不起作用,我将永远感激你:)

            @foreach (var c in Model.Cleaner.TimeConfirmations)
            {   
<label class="glyphicon glyphicon-remove-circle cancelTime thex" data-timeid="12"></label>
                 }

            }

然后是jquery

$(".thex").on('click', function () {
    var id = $(this).data("timeId")
    alert(id);

});

为什么id未定义?!?!?!?!?!

2 个答案:

答案 0 :(得分:2)

区分大小写错误。

Working Fiddle

$(".thex").on('click', function () {
    var id = $(this).data("timeid")
    alert(id);
});

答案 1 :(得分:0)

EMAIL PHONE IP Master_ID 123@ABC.COM 123456 0.0.0.0 1 123@ABC.COM 123456 0.0.0.1 1 123@ABC.COM 654321 0.0.0.0 1 321@ABC.COM 123456 0.0.0.0 1 000@ABC.COM 000000 1.1.1.1 2 000@ABC.COM 000001 1.1.1.2 2 函数按以下方式检索元素的数据属性值,data匹配data("timeid")属性,data-timeid匹配data("timeId")

如果你想使用camelCase data-time-id来检索它的值,你需要按如下方式编写它,

timeId

HTML中的连字符字符将其标识为camelCase。

或者,您可以使用<label class="glyphicon glyphicon-remove-circle cancelTime thex" data-time-id="12"></label> 函数获取属性的值,它会进行不区分大小写的搜索。有关详细信息,请查看this

请查看以下代码段,希望对您有所帮助。

&#13;
&#13;
attr
&#13;
$(document).ready(function() {
  $(".thex").on('click', function() {
    var id = $(this).data("timeid")
    console.clear();
    console.log('data function: ' + id);
    console.log('attr function: ' + $(this).attr('data-timeId'));
  });

  $(".thex-alt").on('click', function() {
    var id = $(this).data("timeId");
    console.clear();
    console.log('data function: ' + id);
  });
});
&#13;
label {
  padding: 10px;
  display: block;
}
&#13;
&#13;
&#13;