Я хочу использовать регулярное выражение jQuery в селекторе jQuery - PullRequest
0 голосов
/ 06 ноября 2019

Идентификатор элемента:

<div class="text_title_9a9f19a9 text_title-191 textListLayoutTitle_9a9f19a9">

Я хочу получить этот элемент, используя код ниже

$("div:regex(class, .text_title_\*.text_title-\*.textListLayoutTitle_\*)");

, но он не работает

В идентификаторе элемента "9a9f19a9"и «191» и «9a9f19a9» динамически изменяют значение, поэтому я использую * вместо

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

Вы можете использовать селектор div[class^=text_title], чтобы выбрать все div, у которых есть класс, начинающийся с text_title, таким образом вам не нужно использовать регулярное выражение для него.

$("div[class^=text_title]")

Если вы хотите найти несколько классов в DIV, вы можете сделать это так:

$("div[class*=text_title_][class*=text_title-][class*=textListLayoutTitle_]")

Демо

console.log($("div[class*=text_title_][class*=text_title-][class*=textListLayoutTitle_]").length)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="text_title_9a9f19a9 text_title-191 textListLayoutTitle_9a9f19a9"></div>

<div class="text_title_9a9f19a9 textListLayoutTitle_9a9f19a9"></div>
0 голосов
/ 06 ноября 2019

Вы можете использовать функцию filter() и использовать indexOf для проверки наличия класса

$(function(){
  $('div').filter(function(){
    var classes = $(this).attr('class');
    if(classes.indexOf('text_title_') != -1 && classes.indexOf('text_title-') != -1 && classes.indexOf('textListLayoutTitle_') != -1) {
      return true;
    } else {
      return false;
    }
  }).addClass('valid');
});
.valid {
  color: green;
}

div {
  color: blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<div class="text_title_9a9f19a9 text_title-191 textListLayoutTitle_9a9f19a9">Valid</div>
<div class="text_title-191 textListLayoutTitle_9a9f19a9">InValid</div>
<div class="text_title_9a9f19a9 textListLayoutTitle_9a9f19a9">InValid</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...