Javascript 为什么';t美元(this).attr';什么工作?他们带来了';未定义';
因此,我有几个按钮,因为我不想为每个按钮编写相同的代码,所以我尝试创建一个动态事件处理程序,它可以基于.selected pack类管理所有按钮,但是所有$(this)属性都没有定义,尽管有一个值 这是js:Javascript 为什么';t美元(this).attr';什么工作?他们带来了';未定义';,javascript,jquery,Javascript,Jquery,因此,我有几个按钮,因为我不想为每个按钮编写相同的代码,所以我尝试创建一个动态事件处理程序,它可以基于.selected pack类管理所有按钮,但是所有$(this)属性都没有定义,尽管有一个值 这是js: //Function In Test! $('.selected-pack').click(function(event) { if($("#mainconsole").val() == "") { alert("Select Your Console!")
//Function In Test!
$('.selected-pack').click(function(event) {
if($("#mainconsole").val() == "") {
alert("Select Your Console!")
return;
}
if($("#paymentmethod").val() == "") {
alert("Select Your Preferred Payment Method!")
return;
}
$("#selectConsolediv").fadeOut("medium", function() {
$("#choosePlatformLI").removeClass("active");
var packipn = $(this).attr('data-ipn');
var packipnpp = $(this).attr('data-ipnpp');
var packname = $(this).attr('data-name');
var packprice = "";
console.log(packname);
if ($("#mainconsole").val() == "PS"){
packprice = $(this).attr('data-psprice');
}
if ($("#mainconsole").val() == "XBOX") {
packprice = $(this).attr('data-xbprice');
}
// Skrill
$("#mainamount").val(packprice);
$("#mainipn").val(packipn);
$("#maindesc").val(packname);
$("#maindiscount").val($("#discount1").val());
// PayPal
$("#mainamountpp").val(packprice);
$("#mainipnpp").val(packipnpp);
$("#ppitemname").val(packname);
$("#maindiscountpp").val($("#discount1").val());
$("#checkoutPackName").text(packname);
$("#checkoutCode").text($("#discount1").val());
$("#checkoutPrice").text("£" + packprice);
$("#checkoutdiv").fadeIn("medium", function() {
$("#checkoutLI").addClass("active");
});
});
});
你们有人发现错误吗?请尽快给我一个评论,提前谢谢:)这是因为
$(这)
的范围在淡出()回调中发生了变化。尝试添加:
var self = $(this);
在顶部紧跟$('.selected pack')之后。单击(函数(事件){
并在整个过程中使用self
。您希望此
引用单击的。所选的pack
元素还是#selectConsolediv
元素?根据您在此处编写的内容,我希望它指向#selectConsolediv
元素..所选的pack元素