如何使用Jquery安全地检查属性值?

时间:2013-03-18 19:40:33

标签: javascript jquery

如果点击的链接将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")未设置,或者为空,则会崩溃。

1 个答案:

答案 0 :(得分:5)

来自JQuery文档:

  

访问第一个匹配元素的属性。这个方法成功了   很容易从第一个匹配的元素中检索属性值。如果   该元素没有具有这样名称的属性,undefined是   回。属性包括title,alt,src,href,width,style等。

它不会爆炸,但如果属性丢失则返回undefined。因此,期望返回未定义的潜力,并相应地进行调整。

更糟糕的是,你总是可以在try / catch中包含易失性代码来规避错误。