2011-06-21 16 views

Odpowiedz

105

Będziesz kopać siebie ..... :)

$(".popContent:first").html() 
13

można użyć :first wybierak w tym przypadku

$('.popContent:first').text(); 

DEMO

7
$("div.popContent:first").html() 

powinno dać pierwszy d iv jej zawartość ("1" w tym przypadku)

0

można użyć następujących jQuery wyrażenie

alert(jQuery('div.popContent').eq(0).html()); 
12

pierwsze wystąpienie klasy w div

$('.popContent').eq(0).html('value to set'); 

drugie wystąpienie klasy w div

$('.popContent').eq(1).html('value to set'); 
+0

Chociaż nie jest błędne, to nie jest optymalne. To wybierze wszystkie '.popContent' i wyciszy jeden element. Nowoczesne przeglądarki mogą używać querySelector do wybrania tylko pierwszego elementu za pierwszym razem (Tak, przeglądarka będzie nadal wybierać wszystkie, ale praca będzie o wiele szybsza) – Martijn

+0

jaki będzie najszybszy sposób wyodrębnienia konkretnego elementu z domeny @Martijn –

+0

Bez analizy porównawczej, powinno to działać dobrze: jeśli jest i rodzic z identyfikatorem close: '$ ('# the_id'). find ('. popContent: first')', otherwist tylko aktualnie akceptowana odpowiedź. – Martijn

3

Można użyć document.querySelector()

Zwraca pierwszy element w dokumencie (za pomocą głębokości pierwszego pre- kolejność sortowania węzłów dokumentu | przez pierwszy element w znaczników dokumentu i iterowanie przez kolejne węzły według kolejności ilość węzłów podrzędnych), które pasują do określonej grupy selektorów.

Ponieważ patrzy tylko dla pierwszego wystąpienia, ma lepszą wydajność niż jQuery

var count = 1000; 
 
var element = $("<span>").addClass("testCase").text("Test"); 
 
var container = $(".container"); 
 
var test = null; 
 
for(var i = 0; i < count; i++) { 
 
\t container.append(element.clone(true)); 
 
} 
 

 
console.time('get(0)'); 
 
test = $(".testCase").eq(0); 
 
console.timeEnd('get(0)'); 
 
console.log(test.length); 
 

 
console.time('.testCase:first'); 
 
test = $(".testCase:first"); 
 
console.timeEnd('.testCase:first'); 
 
console.log(test.length); 
 

 
console.time('querySelector'); 
 
test = document.querySelector(".testCase"); 
 
console.timeEnd('querySelector'); 
 
console.log(test);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"></div>

jsFiddle version of snippet

Powiązane problemy