JS выберите только один условный элемент, используя .each - PullRequest
0 голосов
/ 16 января 2020

Мне нужно выбрать только одну статью с условием true. В коде я использую hourDiff == 0 в качестве истинного условия. Я использую каждый, чтобы перебрать статьи. В CSS у меня есть дисплей: нет для статей. Проблема в этом коде состоит в том, что все статьи появляются до того, как оно соответствует условию true.

<section class="noticias">
  <article class=" article element" iteridart="FL2049412">
    <script type="text/javascript"> hourDiff== 2 </script>
  </article>
  <article class=" article element" iteridart="FL2049417">
    <script type="text/javascript"> hourDiff== 0 </script>
  </article>
  <article class=" article element" iteridart="FL2045411">
    <script type="text/javascript"> hourDiff== 4 </script>
  </article>
</section>
function templateXXX {
    $(".top-right-col .noticias article").each(function(index, el){
        if(hourDiff == 0) {
        $( el ).addClass( "showClass" );
        }
    });
}

1 Ответ

0 голосов
/ 16 января 2020

Я думаю, что вы подходите к этому неправильно, но в качестве своего рода обходного пути (ища текст 'hourDiff == 0' в теге скрипта) вы можете сделать это:

https://jsfiddle.net/pqjd2h5a/2/

$(".article").each(function(index, el){
        console.log(index);
    console.log(el);

    if($(this).text().includes("hourDiff== 0")) {
        console.log("found");
      $(this).append( "<p>hourDiff== 0</p>" )
        $(this).addClass("showClass");
    }
});

В идеале у вас не должно быть тегов сценария как дочерних элементов статьи. Есть ли способ добавить hourDiff в качестве значения для каждой статьи или аналогичного?

...