0

我不确定这是否可能。选择多个元素很容易,但今天我怀疑这是否可能:

$(this).closest("li, + $(this)").css('text-decoration','line-through');

上面的代码肯定不起作用。这只是为了演示这个想法。我想删除整个li(文本和复选框),所以我选择licheckbox.

4

6 回答 6

3

$(this).closest("li").andSelf().css('text-decoration','line-through');

或者

$(this).closest("li").addBack().css('text-decoration','line-through');

对于 jQuery 1.8 及更高版本

于 2013-09-08T12:47:41.263 回答
1

.add()

$(this).closest("li").add(this).css('text-decoration','line-through');
于 2013-09-08T12:47:42.717 回答
1

最干净的解决方案是使用addBack,它专门用于此用途:

$(this).closest("li").addBack().css('text-decoration','line-through');
于 2013-09-08T12:48:16.330 回答
1

您可以使用.add()函数添加选择器:

$(this).closest("li").add(this).css('text-decoration','line-through');
于 2013-09-08T12:48:32.767 回答
0

使用andSelf.

描述:将堆栈上的前一组元素添加到当前集合中。

代码:

$(this).closest("li").andSelf().css('text-decoration','line-through');

我现在在文档中读到:

注意:此函数已被弃用,现在是 .addBack() 的别名,应与 jQuery 1.8 及更高版本一起使用。

因此addBack,如果您使用的是 jQuery 1.8 或更高版本,请使用。

代码:

$(this).closest("li").addBack().css('text-decoration','line-through');
于 2013-09-08T12:48:52.140 回答
0

我假设您的 $(this) 代表此处的复选框。如果它在 li 那么,你可以使用

$(this).parent('li').css('text-decoration','line-through');

这将覆盖完整的 li 以及复选框。

$(this).closest("li").andSelf().css('text-decoration','line-through');
于 2013-09-08T12:51:01.997 回答