Как получить правильный элемент, зная точный текст - PullRequest
0 голосов
/ 19 ноября 2018

Мне нужно получить выбранное значение из выбора внутри большой таблицы, зная только точный текст элемента th перед ним. В приведенной ниже выдержке мне нужно получить One, зная только check. Есть идеи?

<table>
    ....
    <tr>
        <th class="width2">check</th>
        <td>
            <select>
                <option value="">- Select -</option>
                <option value="1" selected="">One</option>
                <option value="2">two</option>
            </select>
        </td>
        ...
    </tr>
    ...
</table>

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете использовать селектор :contains(), но в некоторых случаях он выбирает нежелательный элемент.Поэтому используйте .filter() для фильтрации th имеет специальный текст.

var t = $("th").filter(function(){
  return $(this).text() == 'check';
}).next().find("select :selected").text();
console.log(t);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <th class="width2">check</th>
    <td>
      <select>
        <option value="">- Select -</option>
        <option value="1" selected="">One</option>
        <option value="2">two</option>
      </select>
    </td>
  </tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...