0

我正在使用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-headingcaption-description使用 my的 jQuery 是什么var slide

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

4

4 回答 4

2

因为您使用的是.get(),所以幻灯片变量将是一个 DOM 元素,而不是一个 jQuery 对象。因此,您不能.find()像其他答案所建议的那样直接调用它。但是 jQuery selector-with-context 语法会起作用:

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();
于 2013-03-23T15:15:05.780 回答
1

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

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

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

slide.find("h1.caption-heading").text();
于 2013-03-23T15:02:48.497 回答
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();
于 2013-03-23T15:03:55.320 回答
0

只需使用find

slide.find('caption-heading').text()
于 2013-03-23T15:03:24.467 回答