У меня есть два пункта:Matching точную строку в JQuery
<p>Some text</p>
<p>Another text</p>
и этот JQuery код:
if ($("p:contains('Right text')")) {
alert("Matching!");
};
$("p:contains('Right text')").css("text-decoration", "underline");
Он должен показывать предупреждение только если есть текст Right text
. Но когда вы загружаете страницу, она отображается каждый раз. Вторая часть скрипта должна добавить подчеркивание к абзацу с Right text
, и он работает - если он содержит Right text
, у него есть подчеркивание.
Почему мой код не работает, хотя селектор такой же? Как я могу отобразить предупреждение, если есть правильный текст?
http://codepen.io/anon/pen/mEvOWA?editors=1010
Вы должны проверить 'length', потому что даже пустой объект truthly значение в JavaScript –
' $ ('nonexistant') '- объект jQuery длины ноль, но все же объект и, следовательно, все еще передает наивный' if' –