私はこれをjavascriptで書き込もうとしています:
if ($("#locations > tr > th").attr("id").endsWith("_5"))
これがあれば罰金を作品$("#locations > tr > th")
未定義されていないが、それがある場合は、未定義の上endsWithを呼び出すことはできませんので、エラーがスローされます。アイテムが未定義の場合、またはステートメントがfalseを返す場合、falseを返す方法はありますか?これは私が現在持っているものですが、私はこれをかなり頻繁に行わなければならないので、可能であればそれを書くより短い方法を好むでしょう。
var attr = $("#locations > tr > th").attr("id")
if (attr != undefined && attr.endsWith("_5") { ...
簡単なハックは、次のendsWith
ように呼び出すことができる空の文字列と交互にすることです。
if (($("#locations > tr > th").attr("id") || '').endsWith('_5')) {
// ...
}
Babelを使用している場合(これは、適度なサイズの適度に専門的なプロジェクトに最適です)、またはブラウザーが実装した後でこれに遭遇した場合は、オプションのチェーンを使用することもできます。
if ($("#locations > tr > th").attr("id")?.endsWith('_5')) {
// ^ optional chaining
// ...
}
(に進み、エラーをスローするのではなく、が存在しない場合に?.
解決されます)undefined
.attr('id')
endsWith
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加