Não, não há seletor jQuery (ou CSS) que faça isso.
Você pode usar facilmente filter
:
$("p").filter(function() {
return $(this).text() === "hello";
}).css("font-weight", "bold");
Não é um seletor , mas faz o trabalho. :-)
Se você deseja lidar com espaços em branco antes ou depois do "olá", você pode inserir um $.trim
:
return $.trim($(this).text()) === "hello";
Para os otimizadores prematuros por aí, se você não se importa que ele não corresponda <p><span>hello</span></p>
e similar, você pode evitar as chamadas $
e text
usando innerHTML
diretamente:
return this.innerHTML === "hello";
... mas você teria que ter muitos parágrafos para que isso importasse, tantos que você provavelmente teria outros problemas primeiro. :-)
:contains
seletor por seu próprio código, mas não acho que seja isso que você quis dizer?