我的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。
答案 0 :(得分:2)
HTML代码中的属性均以date-
而非data-
开头。
修复此问题,你会没事的。
答案 1 :(得分:0)
.live已弃用,以支持.on
你把它包装在$(function(){})中吗?
data-
而不是date-
使用window.console&&console.log
代替alert
传递事件并阻止默认:
喜欢这个
$(function() {
$(".loadCustomerInfo").on('click',function(e) {
e.preventDefault();
var idVar=$(this).data('customerid');
.
.