【问题标题】:After .eq() how to continue looking for selector?.eq() 之后如何继续寻找选择器?
【发布时间】:2013-09-30 20:05:19
【问题描述】:

使用 .eq() 后,我不确定如何继续使用我的 CSS 选择器来查找“Happy World”并最终点击它。

使用 Chrome 开发工具控制台,我输入:

$('.search-cell').eq('0')

选择器工作并在控制台上返回以下 HTML:

<div class="search-cell">

  <div class="media-img">
    <img src="image.jpg">
  </div>

  <div class="media-body">
    <h1 class="title">Happy World
        <span class="badge">1st</span>      
    </h1>
    <h2 class="subtitle">Balloon flyer</h2>
  </div>

</div>

我试过了:

$('.search-cell').eq('0').children('.media-body')

它返回 []。

我的脑海中充满了 XPATH 的概念,所以我想它最终会是这样的:

$('.search-cell').eq('0').(Not sure what to put?????).trigger('tap)

.eq() 之后我缺少什么?

【问题讨论】:

  • 试试.find(".media-body")
  • .search-cell.searchtable 只有类 .search-cell 时如何匹配该元素?
  • 什么给了console.log($('.search-cell.searchtable').eq(0)[0]);
  • 抱歉让我编辑我的问题,但 find() 似乎工作..
  • 为什么不$('.search-cell:first .media-body').trigger('tap')

标签: jquery jquery-selectors


【解决方案1】:

使用 jQuery 的 find 获取由“媒体主体”选择器过滤的元素的后代。

$('.search-cell').eq('0').find('.media-body');

我创建了一个Codepen example,用于打印以控制元素的文本。

例如

console.log($('.search-cell').eq('0').find('.media-body').text());

可能不合时宜的注释: 此外,正如 @BoltClock 在 cmets 中指出的那样,您正在尝试匹配一个额外的选择器 '.searchtable',该选择器在您的示例代码中不存在。我已经为我的示例进行了编辑。

【讨论】:

    猜你喜欢
    • 2022-12-09
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多