Jquery 我想使用';这';在cartDetails()中,但显示未捕获的TypeError 函数中的此可能未引用所需元素。。因此,您需要向函数传递一个参数
下面是它的工作原理Jquery 我想使用';这';在cartDetails()中,但显示未捕获的TypeError 函数中的此可能未引用所需元素。。因此,您需要向函数传递一个参数,jquery,Jquery,下面是它的工作原理 function\u function\u 1(){ log('不带参数的函数id为:'+$(this.attr('id')); } $('button')。在('click',function()上{ _函数_1(); }); 函数_函数_2(el){ log('带参数的函数,其id为:'+$(el.attr('id')); } $('button')。在('click',function()上{ _功能_2(本); }); 测试单击不确定HTML内容,但必须将jQue
function\u function\u 1(){
log('不带参数的函数id为:'+$(this.attr('id'));
}
$('button')。在('click',function()上{
_函数_1();
});
函数_函数_2(el){
log('带参数的函数,其id为:'+$(el.attr('id'));
}
$('button')。在('click',function()上{
_功能_2(本);
});代码>
测试单击
不确定HTML内容,但必须将jQuery对象传递给函数才能找到元素
看
如果这是任何接近或任何帮助。虽然HTML和Javascript方面还有很多需要改进的地方,但它可能会帮助您
如果可以的话,请始终在问题中添加JSFIDLE或其他地方,以便实际试用。一如既往,欢迎来到Stack Overflow catDetails.apply(这个)
?你查过小提琴了吗?也许您可以从头开始创建类似的代码,以查看您尝试从DOM获取数据的HTML代码?
function cartDetails(){
//generating product id
var arry = $(`this`).parents('a').attr('href');
var newArry = arry.split('=');
var prodId = newArry[1];
//generating imageName
var imgArry = $(this).closest('#items').find('img').attr('src');
var newImg = imgArry.split('/');
var imgName = newImg[1];
//generating model
var model = $(this).parent().find('p').text();
//generating price
var prePrice = $(this).parent().find('span').text();
var price = parseInt(prePrice);
return [imgName,model,price];
}
$('.btn-success').click((e)=>{
e.preventDefault();
cartDetails();
})
$(document).ready(function() {
function cartDetails($btn) {
//generating product id
var arry = $btn.parents('a').attr('href');
console.log(arry)
var newArry = arry.split('=');
var prodId = newArry[1];
//generating imageName
var imgArry = $btn.closest('#items').find('img').attr('src');
var newImg = imgArry.split('/');
var imgName = newImg[1];
//generating model
var model = $btn.parent().find('p').text();
//generating price
var prePrice = $btn.parent().find('span').text();
var price = parseInt(prePrice);
return [imgName,model,price];
}
$('.btn-success').on('click', function(e) {
e.preventDefault();
console.log(cartDetails($(this)));
})
});