JQuery найти TD с точным номером из списка - PullRequest
0 голосов
/ 15 октября 2019

Итак, у меня есть таблица, и мне нужно найти тд, в котором есть точное число (число «2»). Проблема в том, что номера td являются списками типа 1,2,3,4.

Теперь, если я сделаю это, он найдет td с '2' внутри:

<table>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
  </tr>
</table>

$(function(){
    var search = '2';
    $("table tr td").filter(function() {
        return $(this).text() == search;
    }).css('color','red');
});

Но если я сделаю это, он не будет работать со списками:

<table>
  <tr>
    <td>1,14</td>
    <td>3,10</td>
    <td>2,5</td>
    <td>22,7</td>
  </tr>
</table>

$(function(){
    var search = '2';
    $("table tr td").filter(function() {
        return $(this).text() == search;
    }).css('color','red');
});

Я хочу, чтобы это изменило все числа в этом тд 'красном', например 2,5 '.

Ответы [ 3 ]

2 голосов
/ 15 октября 2019

Вы можете разделить запятыми и проверить с включениями.

$(function(){
    var search = '2';
    $("table tr td").filter(function() {
        return $(this).text().split(',').includes(search);
    }).css('color','red');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td>1,14</td>
    <td>3,10</td>
    <td>2,5</td>
    <td>22,7</td>
  </tr>
</table>
0 голосов
/ 15 октября 2019

Попробуйте с включениями.

$(function(){
    var search = '2,5';
    $("table tr td").filter(function() {
        return $(this).text().includes(search)
    }).css('color','red');
});

например https://repl.it/repls/HandsomeLumberingEmulation

0 голосов
/ 15 октября 2019

В вашем коде вы ищете только 2, но 2,5 не является 2. Но 2 является частью 2,5. Мой подход прост, я разделю каждый текст узла с помощью, а затем я найду, присутствует ли 2 или нет в этом массиве

$(function(){
    var search = '2';
    $("table tr td").filter(function(x) {
        var t = $(this).text();
        var tArr = t.split(",")
        return tArr.indexOf(search) !== -1;
    }).css('color','red');
});

https://jsfiddle.net/2on938m1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...