2011-06-21 44 views
39

類的第一次出現我有下面的HTML結構,我想找到第一個div的內部HTML以班級爲「popcontent」使用jQuery找到DIV

<div> 
<div class="popContent">1</div> 
<div class="popContent">2</div> 
</div> 

回答

105

你會踢自己..... :)

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

你可以在這種情況下使用:first選擇

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

DEMO

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

應該給你的第一d IV的內容( 「1」 這種情況下)

0

您可以使用以下jQuery表達式

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

在DIV類的第一次出現

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

在DIV類的二occurence

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

更好的性能雖然不是不正確,這並不是最佳選擇。這將選擇所有'.popContent',並切片一個項目。現代瀏覽器可以使用querySelector來選擇第一個元素中的第一個元素(是的,瀏覽器仍然會選擇所有的元素,但是工作速度要快得多) – Martijn

+0

什麼是從dom中提取特定元素的最快方法@Martijn –

+0

沒有基準測試,這應該做得很好:如果存在並且id爲close的父項:'$('#the_id')。find('。popContent:first')',其他的只是當前接受的答案。 – Martijn

2
$("div.popContent:first").html(); 
3

你可以使用document.querySelector()

返回文檔中的第一個元素(使用深度優先 預遍歷文檔節點|按01中的第一個元素遍歷文檔標記和迭代通過順序節點的順序爲 數量的子節點)匹配指定的選擇器組。

,因爲它只尋找第一次出現,它比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