A jQuery
選擇將返回一個數組。因此$("selection")[0]
可以工作。但是,有更好的抽象方法,如.get(0)
或.first()
(以防您正在查找選擇/數組的第一個元素)。
$(「選擇」)。得到的選擇的(指數)返回純DOM元素(在該特定索引),並且是不包裹在jQuery對象。
$( 「選擇」)。第一()返回選擇的第一元件,和包裹它在一個jQuery對象。
所以,如果你不需要返回第一個元素,但仍然希望jQuery的功能,你可以做$($("selection").get(index))
。
鑑於您的情況,這應該很好地工作:
// bind the 'onclick' event only on the first element of the selection
$("ul>li>a").first().click(function() {
$("ul ul").prepend("<li class='close'>Close</li>");
});
即相當於此:
$($("ul>li>a").get(0)).click(function() {
$("ul ul").prepend("<li class='close'>Close</li>");
});
而且這樣的:
$($("ul>li>a")[0]).click(function() {
$("ul ul").prepend("<li class='close'>Close</li>");
});
我必須不同意Ryan正在研究CSS選擇字符串來篩選結果與原生JavaScript數組功能相比相當昂貴。
這是行不通的。閱讀文檔。 – SLaks 2010-01-27 14:11:42
@SLaks:複製和過去我太快了;)謝謝。 – 2010-01-27 14:13:47