我有一個選擇器「td > a.leftmenuitem:last, div > a.leftmenuitem:last
」,我想稍微簡化一下。我試過「* > a.leftmenuitem:last
」,「td, div > a.leftmenuitem:last
」和「(td, div) > a.leftmenuitem:last
」,其中沒有一個按照第一個選擇器的方式工作。如果沒有爲每個選擇器單獨選擇器,這種事情在選擇器語法中是不可能的?簡化jQuery選擇器
0
A
回答
2
不能簡化:
td > a.leftmenuitem:last, div > a.leftmenuitem:last
,而不存在共同之處,所以你可以選擇一個表達所有相關的TD和div元素。例如,如果他們兩人都類等等,你可以這樣做:
.blah > a.leftmenuitem:last
但不要用這種表達,如果你能避免它。類選擇器很慢(與ID和標記選擇器相比)。
只是有什麼問題嗎?
a.leftmenuitem:last
?
順便說一句,你一定:last
是正確的選擇?很多人誤用了它,把它誤認爲:last-child
。 :last
將僅匹配一個元素,即頁面上找到的最後一個匹配元素。
1
什麼是更大,有時更快。當您使用*而不是td時,您的查詢速度會更慢。
0
我不認爲你可以簡化它。我會選擇提供您感興趣的鏈接,以便您可以簡單地做。這樣jQuery可以簡單地掃描所有匹配的<a>
標籤,而不必擔心他們的父母是<td>
元素。
0
您的選擇非常簡單。如果你想簡化它,你可以這樣做:
$('a.leftmenuitem:last').parent().doWhateverYouWereGoingToDo();
我懷疑這會導致更快的執行時間,但是。
0
也許我只是困惑,但如果
* > a.leftmenuitem:last
會爲你工作,那麼爲什麼不
a.leftmenuitem:last
,而不是去?
0
您正在使用的選擇是
Parent > Child
比賽由Parent
指定的元素Child
指定的所有子元素。除非你在不在的<div>
和<td>
元素孩子的頁面使用<a>
元素在其他地方,爲什麼不使用
$('a.leftmenuitem:last')
我缺少的東西?
相關問題
- 1. 簡化jQuery選擇器
- 2. 如何簡化這個jQuery選擇器?
- 3. 簡化jQuery選擇器高亮
- 4. 簡化動態jQuery選擇
- 5. 簡化CSS選擇器根
- 6. 簡單的jquery選擇器
- 7. 簡單的jQuery選擇器
- 8. 優化jQuery選擇器
- 9. 優化jQuery .find()選擇器
- 10. 簡化Sass中的類似選擇器
- 11. 讓jQuery選擇器更簡潔
- 12. 簡單的jQuery css背景「選擇器」
- 13. Jquery中選擇器的簡寫
- 14. 使用簡單的jQuery選擇器
- 15. jQuery選擇優化
- 16. 簡單的jQuery選擇
- 17. 初始化JQuery的日期選擇器
- 18. jQuery的日期選擇器格式化
- 19. jQuery選擇器錯誤?由選擇與簡單的選擇和發現()
- 20. JQuery選擇器
- 21. jquery選擇器
- 22. JQuery選擇器 -
- 23. jQuery選擇器
- 24. jquery選擇器
- 25. jquery選擇器
- 26. jQuery選擇器
- 27. jquery選擇器
- 28. jQuery - 選擇器
- 29. jQuery選擇器
- 30. jquery選擇器
啊是的!當然:最後一個孩子完美地工作。我想知道爲什麼只使用a.leftmenuitem:最後沒有奏效。謝謝! – DLH 2009-07-30 16:46:00