【问题标题】:Get all element of same class and detect first element from that via jquery获取同一类的所有元素并通过jquery从中检测第一个元素
【发布时间】:2018-02-08 04:26:01
【问题描述】:

我有一个动态结构,其中数据以下面的方式进入。我想过滤所有类名为“My_data”的元素并首先使用它。在下面的代码结构中,我想获得第一个“My_data”类元素。

<div class="all_data">
<div class="listing">
    <div class="other_1">Block One</div>
    <div class="mbox">Block Two</div>
    <div class="other_2">Block Three</div>
    <div class="mbox">Block Four</div>
</div>
<div class="listing">
    <div class="other_1">Block One</div>
    <div class="mbox">Block Two</div>
    <div class="other_2">Block Three</div>
    <div class="mbox">Block Four</div>
</div>
<div class="listing">
    <div class="other_2">Block One</div>
    <div class="My_data">My data 1</div>
    <div class="other_2">Block Three</div>
    <div class="My_data">My data 2</div>
</div>
<div class="listing">
    <div class="other_5">Block One</div>
    <div class="My_data">My data 3</div>
    <div class="other_2">Block Three</div>
    <div class="My_data">My data 4</div>
</div>
</div>

所以从上面的代码结构中我想选择我的数据1

请注意:此数据结构是动态的,因此可能每次都在更改。有时第一个列表 div 得到“My_data”类,有时没有列表 div 有它。

【问题讨论】:

  • 感谢@JeffreyWesterkamp 的回复。但正如我所说,内部数据不会是静态的,而是动态的。唯一不会改变的是类名。

标签: javascript jquery html jquery-selectors jquery-filter


【解决方案1】:

试试这个:

var myDataDiv = document.querySelector('.My_data')
var myData = myDataDiff && myDataDiff.innerText; // > string | null

document.querySelector('.My_data') 将返回 第一个 具有类 My_data 的元素 - 如果它存在 - 否则返回 null。因此myData 将是nullmyDataDiff.innerText 的结果。

【讨论】:

  • 感谢@JeffreyWesterkamp 的回复。但正如我所说,没有内部数据是静态的,它将是动态的。唯一不会改变的是类名。所以我们无法通过 innerText 获取它。
  • 我不明白。它会以何种方式动态阻止您找到(静态)类My_data 的第一个元素?里面有没有更多的HTML?
  • 以简单的方式 - 正文中将有许多类名为“My_data”的元素 - 但我想在正文中找到类名为“My_data”的第一个元素。
【解决方案2】:

只需创建一个空 div 并将列表类的所有子 div 附加在其中。然后从新列表中取出第一个。

【讨论】:

    猜你喜欢
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    相关资源
    最近更新 更多