jquery数据元素返回undefined

时间:2013-11-03 21:27:40

标签: jquery

我的html代码中有两个链接。我使用它们来使用jQuery读取数据元素。但是它适用于其中一个,另一个则返回未定义的值。

html如下

<a class="loadCustomerInfo" href="#Augustinho" date-customerid="1" date-customername="Augustinho" date-customeraddress="mercado shoprite" date-companyname="Auto Kilimanjaro" date-phoneone="828759460" date-city="0">Augustinho</a>

我使用的以下jQuery

$(".loadCustomerInfo").live('click',function(){
  //alert("add item");
  var idVar=$(this).data('customerid');
  // alert($(this).innerHTML);

  alert($(this).attr('data-customername'));

  alert($(this).data('customername'));
  var randid = new Date().getUTCMilliseconds();

  $("#customerInfoTable").append('<tr><th id="customerInfoTH" colspan=2>Customer Information</th></tr>' +
  '<tr><th>Customer Name</th> <td>' +$(this).data('customername')+ '</td></tr>' +
  '<tr><th>Company Name</th><td>' +$(this).data('companyname')+ '</td></tr>' +
  '<tr><th>Address</th><td>' +$(this).data('customeraddress')+ '</td></tr>' +
  '<tr><th>City</th><td>' +$(this).data('city')+ '</td></tr>' +
  '<tr><th>Primary Phone</th><td>' +$(this).data('phoneone')+ '</td></tr>');


  //return false;
});

click函数正在工作,因为我从alert()获得响应但总是未定义,在我的html中它显示所有变量的undefined。

2 个答案:

答案 0 :(得分:2)

HTML代码中的属性均以date-而非data-开头。

修复此问题,你会没事的。

答案 1 :(得分:0)

  1. .live已弃用,以支持.on

  2. 你把它包装在$(function(){})中吗?

  3. data-而不是date-

  4. 使用window.console&&console.log代替alert

  5. 传递事件并阻止默认:

  6. 喜欢这个

    $(function() {
      $(".loadCustomerInfo").on('click',function(e) {
        e.preventDefault();
        var idVar=$(this).data('customerid');
        .
        .