正确的方法找到一些变量与2案件

时间:2013-05-31 08:45:47

标签: javascript jquery

我想从2种不同的元素模式中找到一些变量。

var something = $('.class').attr('data-something');

if(typeof something === 'undefined') {
    var something = $('.class').attr('data-another'); 
}

if(typeof something != 'undefined') {
    // do action...
    console.log(something); 
}

我只想从attr data-someting="mydata"

获取一些数据

如果找不到data-someting="mydata",请找到data-another

的数据格式

然后做行动......

我做得对吗?或另一种正确的方法做得更好?

关于Try Catch

3 个答案:

答案 0 :(得分:1)

有些浏览器会有undefined,有些浏览器会返回false。所以,这是一个更强大的版本:

if (typeof something === 'undefined' || something === false) {
    // try another attribute
} else {
    // do your stuff
}

更新

嗯,记入the doc

  

从jQuery 1.6开始,.attr()方法为属性返回undefined   没有设定。

所以,他们可能是从1.6开始明确地确保这一点,而我关于false的信息已经过时了。在这种情况下,您自己的代码是完全正确的。

答案 1 :(得分:1)

您可以/应该使用$ .data();

访问数据属性

e.g

var something = $('.class').data('something');

答案 2 :(得分:1)

 var something = $('.class').attr('data-something') || $('.class').attr('data-another')

这适用于undefinedfalse