Jquery 如何在parent by.get()检索到元素后通过选择器获取元素

Jquery 如何在parent by.get()检索到元素后通过选择器获取元素,jquery,flexslider,Jquery,Flexslider,我使用的是var slide=($('#li').get(currentSlide))。这使我获得以下html: <li> <article> <img src="http://localhost/..."> <div class="flex-caption"> <h1 class="caption-heading">Patio </h1> &

我使用的是
var slide=($('#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>
  • 露台

    封闭式天井

  • 使用my
    var slide
    获取
    标题
    标题描述
    文本的jQuery是什么

    我有超过12个这样的类,所以我只需要一个我使用变量
    currentSlide
    检索到的类,您可以使用它来获取文本

    $('caption-heading').text()
    
    要查找可以使用的特定元素

    您可以使用来获取文本

    $('caption-heading').text()
    
    要查找可以使用的特定元素


    只需使用
    查找

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

    只需使用
    查找

    slide.find('caption-heading').text()
    
    使用幻灯片变量:

    (请注意,如果slide是DOM元素而不是jQuery对象,则必须执行
    $(slide).find()…

    或者像注释中提到的@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();
    
    使用幻灯片变量:

    (请注意,如果slide是DOM元素而不是jQuery对象,则必须执行
    $(slide).find()…

    或者像注释中提到的@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();
    

    因为您使用的是
    .get()
    ,所以幻灯片变量将是DOM元素,而不是jQuery对象。因此,您不能像其他答案所建议的那样,直接在其上调用
    .find()
    。但是具有上下文语法的jQuery选择器可以工作:

    var caption-heading = $("h1.caption-heading", slide).text();
    
    或者,您可以使用
    .eq()
    而不是
    .get()
    (),以便幻灯片是jQuery对象:

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

    因为您使用的是
    .get()
    ,所以幻灯片变量将是DOM元素,而不是jQuery对象。因此,您不能像其他答案所建议的那样,直接在其上调用
    .find()
    。但是具有上下文语法的jQuery选择器可以工作:

    var caption-heading = $("h1.caption-heading", slide).text();
    
    或者,您可以使用
    .eq()
    而不是
    .get()
    (),以便幻灯片是jQuery对象:

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

    另一种语法是带有上下文的jQuery选择器:
    $(“h1.caption heading”,slide).text()。使用此表单,
    slide
    不必是jQuery对象,它可以是DOM元素..find不起作用,我想就像上面有人说的,它是一个DOM元素,而不是jQueryobject@Nicola我把它放在另一个答案中,解释了为什么查找不起作用。@Nicola将slider.find()替换为$(slider.find())使查找有效另一种语法是jQuery选择器,上下文为:
    $(“h1.caption heading”,slide).text()。使用此表单,
    slide
    不必是jQuery对象,它可以是DOM元素..find不起作用,我想就像上面有人说的,它是一个DOM元素,而不是jQueryobject@Nicola我把它放在另一个答案中,解释为什么find不起作用。@Nicola用$(slider.find()替换slider.find(),find()使find起作用