遍历元素并从孩子那里获得价值

时间:2018-09-16 18:48:40

标签: javascript jquery

我有一个带有这样的行的html表:

<tr class="d-flex linkObj" style="display: flex !important;">
    <th class="col-4">
        <div class="document-icon">
            <i class="far fa-file-code"></i>
        </div>
        <span class="file_data">Tobier - WordPress Tutorials, SEO Tools und vieles mehr<br>
            <span class="analyse_url quelle">https://tobier.de</span>
        </span>
    </th>
    <th class="col-2">
        Bild: https://tobier.de/media/2018/06/logo-4.png
    </th>
    <th class="col-2">
        <i class="far fa-check-circle text-success"></i> follow
    </th>
    <th class="col-4">
        <div class="document-icon">
            <i class="far fa-file-code"></i>
        </div>
        <span class="file_data">https://tobier.de<br>
            <span class="analyse_url ziel">https://tobier.de</span>
        </span>
    </th>
</tr>

我要遍历所有行,并希望检查<span class="analyse_url ziel">的值。
所以我的迭代看起来像这样:

jQuery('.linkObj').each(function (i, obj) {
    //if span value == 'https://tobier.de' do this:
    obj.style.setProperty("display", "none", "important");
});

我从对象访问跨度的所有尝试均失败,您可以帮助我获取跨度的内容吗?

3 个答案:

答案 0 :(得分:0)

要访问span中的tr,可以在find()中使用each()。然后,您可以对该元素的text()执行检查,并在hide()上调用tr,如下所示:

jQuery(function($) {
  $('.linkObj').each(function() {
    if ($(this).find('span.analyse_url').text() == 'https://tobier.de') {
      $(this).hide();
    }
  });
});

请注意,您可以通过为toggle()提供布尔值来使它更加简洁:

$('.linkObj span.analyse_url').each(function() {
  $(this).toggle($(this).find('span.analyse_url').text() != 'https://tobier.de');
});

答案 1 :(得分:0)

$('.linkObj .analyse_url.ziel').each(function (i, obj){
    //if span value == 'https://tobier.de' do this:
    if(obj && (obj.innerHTML == 'https://tobier.de')){
        obj.hide();
    }
});

答案 2 :(得分:0)

将标签TR放在TABLE中非常重要,否则它将无法正常工作。这就是代码。

$('.linkObj span.analyse_url').each(function(i, element) {
        var obj = $(element);
    if (obj.text() == "https://tobier.de") {
        obj.hide(); // hide the span
      obj.closest(".linkObj").hide(); // hide the entire row
     }
});