Определить строку с переносом на новую строку
Необходимо определить полностью параграф контекст которого
Lorem
ipsum
dolor
<p>
Lorem<br/>
ipsum<br/>
dolor
</p>
<p>
sit<br/>
amet,<br/>
consectetur
</p>
https://jsfiddle.net/module/r7jcd8nt/5/
Ответы (1 шт):
Автор решения: OPTIMUS PRIME
→ Ссылка
:contains() - слабая штука, потому что ищет только по строгому совпадению строки. С ним можно только отдельно проверить каждое слово. При этом, порядок слов не гарантируется.
$("p:contains(Lorem):contains(ipsum):contains(dolor)").css('color', 'red');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
ipsum<br/>
Lorem<br/>
dolor
</p>
<p>
aaa<br/>
bbb<br/>
ccc
</p>
.filter() здесь будет сильно надежнее:
let $p = $("p").filter(function() {
return /lorem\s+ipsum\s+dolor/i.test( $(this).text() );
});
$p.css('color', 'red');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
ipsum<br/>
Lorem<br/>
dolor
</p>
<p>
Lorem<br/>
ipsum<br/>
dolor
</p>
<p>
aaa<br/>
bbb<br/>
ccc
</p>
/lorem\s+ipsum\s+dolor/i — регулярное выражение. Флажок i — insensitive, будут учитываться совпадения и заглавными, и маленькими буквами. \s — space, любой пробельный символ, + один или много раз.