如何通过.get()检索父项后,通过选择器获取元素

时间:2013-03-23 15:00:32

标签: jquery flexslider

我正在使用var slide=($('#accommodation-flexslider li').get(currentSlide));。这让我得到以下html:

<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>

然后使用我的caption-heading获取caption-descriptionvar slide的文字的jQuery是什么?

我有超过12个这样的类,所以我只需要使用我的变量currentSlide

检索到的那个

4 个答案:

答案 0 :(得分:2)

因为你正在使用.get(),所以slide 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 :(得分:1)

您可以使用Jquery .text()获取文字

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

要查找特定元素,您可以使用Jquery find()

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

答案 2 :(得分:1)

使用幻灯片变量:

(请注意,如果slide是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-heading元素,您可以执行以下操作来获取第二个元素:

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

答案 3 :(得分:0)

只需使用find

即可
slide.find('caption-heading').text()