我有这个脚本
$('a').on('click', function () {
var vIDString = this.getAttribute('id');
if (vIDString === undefined) {
//do nothing
alert('Hit undefined')
} else {
var vID = vIDString.substring(8);
}
})
我试过x === undefined,x ===' undefined',typeof x === undefined,typeof x ===' undefined'我能想到的其他事情,并且很乐意跳过那个并抛出“无法获得财产”的子串'未定义或空引用'
知道我做错了吗?
谢谢
答案 0 :(得分:3)
你永远不会得到未定义。确实,来自MDN:
getAttribute()返回元素上指定属性的值。如果给定的属性不存在,则返回的值将为null或"" (空字符串);有关详细信息,请参阅注释。
因此,您需要针对null或空字符串进行测试:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="url">link text with no ID</a><br/>
<a id="IDVALUE" href="url">link text</a>
&#13;
{{1}}&#13;