太字の要素に特定のテキストが含まれている場合にのみ、jqueryを実行する必要があります。私は何を間違えていますか?
<script>
if ($('b:contains('Choose a sub category:')')) {
$("td.colors_backgroundneutral").css("background-color","transparent");
$("td.colors_backgroundneutral").children(':first-child').attr("cellpadding","0");
};
</script>
文字列を中断する一重引用符内の単一引用符の使用に加えて、ifステートメント内でjQueryセレクターを使用しています。 このセレクタ は、「サブカテゴリの選択」を含むb
タグのみをフィルタリングします。そして、それらの要素のリストを返します。ブール値を返しません。 代わりに、.contains()
メソッドを次のように使用します。
_if($("b").contains("Choose a sub category")) { // do stuff }
_
もっと読むことができます こちら
EDIT:.contains()
メソッドは非推奨のように見えるため、純粋なJSソリューションを次に示します。
_var el = document.getElementById("yourTagId") // or something like document.getElementsByTagName("b")[0] if you don't want to add an ID.
if (el.innerHTML.indexOf("Choose a sub category") !== -1) {
// do stuff
}
_
私はこれを常に使用して、要素が存在するかどうかを判断しました。
if ($('b:contains("Choose a sub category:")').length > 0) { /*do things*/}
if ($("b").has(":contains('Choose a sub category:')").length) {
/*Your Stuff Here*/
}