jQuery选择器难以理解的问题

Ila*_*sda 2 jquery jquery-selectors

我有以下例子

该怎么做:

  • 检查.box-wrapper在文档中
  • 如果是,则有点击事件 .tabs li a
  • 查找.selected并将类设置为空字符串
  • 找到this- 点击链接的父级并添加.selected

在最后一步,它失败了,你可以看到. console.log( $('this').parent('li') ); = []

为什么?怎么了?任何建议都非常感谢.

kar*_*m79 6

this 是一个DOM对象,而不是选择器字符串,因此您需要:

$(this).parent('li').addClass('selected');
console.log($(this).parent('li'));
Run Code Online (Sandbox Code Playgroud)

代替:

$('this').parent('li').addClass('selected');
console.log($('this').parent('li'));
Run Code Online (Sandbox Code Playgroud)

$('this')将导致jQuery构造一个包装与您的选择器匹配的所有元素的对象.'this'不是一个有效的选择器,所以你得到'选择器难以理解'错误,而$(this)引用jQuery包装的点击锚.