2013-03-23 157 views
0

我正在使用var slide=($('#accommodation-flexslider li').get(currentSlide));。這讓我下面的HTML:如何通過.get()獲取父元素一次獲取元素

<li> 
    <article> 
     <img src="http://localhost/..."> 
     <div class="flex-caption"> 
     <h1 class="caption-heading">Patio </h1> 
       <p class="caption-description">Enclosed patio...</p> 
     </div> 
    </article> 
</li> 

什麼是jQuery來使用我var slide然後得到的caption-headingcaption-description的文本?

我有過這些類的12,所以我只需要我已經使用檢索到的我的一個變量currentSlide

回答

2

因爲你使用.get(),幻燈片VAR將是一個DOM元素,而不是一個jQuery對象。所以你不能直接調用.find(),就像其他答案一樣。但jQuery選擇,與上下文的語法將工作:

var caption-heading = $("h1.caption-heading", slide).text(); 

或者,你可以使用.eq()代替.get()learn more),使滑塊是一個jQuery對象:

var slide = $('#accommodation-flexslider li').eq(currentSlide); 
var caption-heading = slide.find("h1.caption-heading").text(); 
1

可以使用Jquery .text()用於獲取文本

$('caption-heading').text() 

要找到你特定元素可以使用Jquery find()

slide.find("h1.caption-heading").text(); 
0

只需使用find

slide.find('caption-heading').text() 
1

使用幻燈片變量:

(注意,如果幻燈片是DOM元素,而不是一個jQuery對象,你要做的不是$(slide).find()...

var caption-heading = slide.find("h1.caption-heading").text(); 
var caption-description = slide.find("p.caption-description").text(); 

或像在評論中提到@tcovo你可以使用上下文選擇器來做到這一點:

var caption-heading = $("h1.caption-heading", slide).text(); 
var caption-description = $("p.caption-description", slide).text(); 

如果滑塊元素有多個標題,你可以使用.eq()函數檢索你想要的。比方說,它有3 h1.caption-標題元素,您可以執行以下操作來獲得第二個:

var caption-description = slide.find("h1.caption-heading").eq(1).text(); 
+2

另一種語法是帶有上下文的jQuery選擇器:'$(「h1.caption-heading」,slide).text();'。在這種形式下,'slide'不一定是jQuery對象,它可以是一個DOM元素。 – tcovo 2013-03-23 15:08:01

+0

這上面alt語法爲我工作 – Nicola 2013-03-23 15:12:54

+0

.find沒有工作,我認爲這就像上面說的人,這是一個DOM元素,而不是一個jQuery對象 – Nicola 2013-03-23 15:16:12