-3

クリックされたリンクの属性としてtarget="_ blank"が設定されている場合は、window.openを呼び出します。それ以外の場合は、ページを読み込むようにiframeを設定します。

attrをチェックし、値がnullなどの場合にクラッシュしないことを確認するにはどうすればよいですか。

私はこれまでにこれを持っています:

if ($(that).attr("target") == "_blank") {
       window.open(linkHref, "_blank");
}
else {
       document.getElementById(someFrame).src = linkHref;
}

設定されて$(that).attr("target")いない、または空の場合、クラッシュするのではないかと心配です。

4

1 に答える 1

5

JQueryドキュメントから:

最初に一致した要素のプロパティにアクセスします。このメソッドを使用すると、最初に一致した要素からプロパティ値を簡単に取得できます。要素にそのような名前の属性がない場合は、undefinedが返されます。属性には、title、alt、src、href、width、styleなどが含まれます。

爆発することはありませんが、属性が欠落している場合は代わりにundefinedを返します。したがって、未定義の可能性が返されることを期待し、それに応じて調整します。

さらに悪いことに、エラーを回避するために、いつでもtry/catchで揮発性コードをラップできます。

于 2013-03-18T19:42:52.683 に答える