js onclick 调用函数失败,求助,,怀疑onclick 不能识别jquery 的this。

2024年11月17日 04:51
有3个网友回答
网友(1):

你的this没有传过来。
你现在传进去的是id,可以把$(this)改成 $("#"+id);

或者 onclick="GetPerson(this)";
function getPerson(obj)
{
if($(obj).index....
}

网友(2):

你这结构压根没写全呀,GetPerson()这个函数到底是在哪里调用的啊?是元素的onClick属性么?
你的这个this其实是想访问触发该函数的元素?
如果都是的话,其实不用他们说的什么传值,因为在浏览器封装函数的时候,就会给你封装一个event局部变量,当你执行的时候,将这个click 事件传入,而event.target就是触发函数的元素。
通过$(event.target)就能把他包裹成jQuery nodeArray的形式,你再操作就可以了。
这里不能使用this,因为执行本函数的是window对象,所以你用this会指向window。
这跟使用jQuery的on方法来绑定元素的click事件,通过执行匿名函数进行处理有本质区别,一定要搞清。

网友(3):

看着没问题,在if ($(this).index() != 0) 前加个alert(this);调试一下。