0

セレクター「td > a.leftmenuitem:last, div > a.leftmenuitem:last」がありますが、少し簡略化したいと思います。* > a.leftmenuitem:last「 」、「td, div > a.leftmenuitem:last」 、「」を試しましたが(td, div) > a.leftmenuitem:last、どちらも最初のセレクターのようには機能しません。この種のことは、セレクター構文で、それぞれに個別のセレクターを作成しないと不可能ですか?

4

6 に答える 6

2

単純化することはできません:

td > a.leftmenuitem:last, div > a.leftmenuitem:last

共通点がないため、1つの式で関連するすべてのtd要素とdiv要素を選択できます。たとえば、両方にクラスがあった場合、次のことができます。

.blah > a.leftmenuitem:last

ただし、回避できる場合は、この種の式を使用しないでください。クラスセレクターは遅いです(IDおよびタグセレクターと比較して)。

何か問題がありますか?

a.leftmenuitem:last

ちなみに、:last正しい選択は確かですか?多くの人がそれを誤って使用し、それをと間違えました:last-child:lastページ上で最後に一致する要素である1つの要素のみに一致します。

于 2009-07-30T15:41:53.917 に答える
1

大きいものは、時には速いです。tdの代わりに*を使用すると、クエリがはるかに遅くなります。

于 2009-07-30T15:39:15.153 に答える
0

あなたのセレクターは十分に単純です。単純化したい場合は、次のようにすることができます。

$('a.leftmenuitem:last').parent().doWhateverYouWereGoingToDo();

ただし、これによって実行時間が短縮されるとは思えません。

于 2009-07-30T15:41:15.663 に答える
0

多分私は混乱しているだけですが

* > a.leftmenuitem:last

あなたのために働くだろう、そしてなぜ一緒に行きませんか

a.leftmenuitem:last

代わりは?

于 2009-07-30T15:41:51.153 に答える
0

単純化できるとは思いません。代わりに、あなたが興味のあるリンクをユニークなクラスに与えることを選びます。そうすれば、あなたは簡単に行うことができます"a.<my-unique-class>:last"。そうすれば、jqueryは、親が要素<a>であることを気にすることなく、一致するすべてのタグを簡単にスキャンできます。<td>

于 2009-07-30T15:40:14.903 に答える
0

使用しているセレクターは

Parent > Child 

Child で指定された要素ので指定されたすべての子要素に一致しますParent。および要素<a>の子ではないページの他の場所で要素を使用している場合を除いて、単に使用しないのはなぜですか<div><td>

$('a.leftmenuitem:last')

私は何かが足りないのですか?

于 2009-07-30T15:48:32.733 に答える