0

我想在元素的父级中添加类。

dom的结构是:

<ul class="companies">
<li>
<a id=""></a>
<a id=""></a>
</li>
<li>
<a id=""></a>
<a id=""></a>
</li>
</ul>

“a”元素的所有 id 都是自动的。

我想将类添加到所选“a”的父“li”。

这是我的代码:

$(".companies li a:selected").parent("li").addClass('selected');
selectDealer($(".companies li a:selected").attr("id"));

但是当我点击一个元素“a”时,它的父元素“li”将不会被选中。

有谁知道为什么?

谢谢

4

3 回答 3

2

认为您所追求的是click这里的处理程序:

$(".companies li a").click(function() {
  $(this).parent("li").addClass('selected');
  selectDealer(this.id);
});

:selected用于selected元素,例如<option>a中的元素<select>。如果您想在某个事件上发生某些事情,例如click,请使用我上面的事件处理程序。在处理程序内部,this将引用发生事件的元素。

以上是为了说明,更高效的版本会这样使用.delegate()

$(".companies").delegate("li a", "click", function() {
  $(this).parent("li").addClass('selected');
  selectDealer(this.id);
});
于 2010-12-23T15:12:57.697 回答
1

链接不能是 ':selected',这仅适用于选项元素。因此,您的初始选择器失败了。

于 2010-12-23T15:14:47.487 回答
0

你确定 a:selected 可以这样使用吗?没有测试我会说这是错误

于 2010-12-23T15:12:30.343 回答