jquery在数组中不相等

时间:2016-07-20 06:17:14

标签: javascript jquery html

我试图通过jquery从数组中找到电话号码手机号码

jQuery的:

var data = $('#PhoneLabel').text();
var array = data.split(', ');
$.grep(array, function (item, index) {
    if (item.charAt(0) === '0' && item.charAt(1) === '9') {
        var mob = item;
        $('#UserMobMenuSMS').attr('href', 'sms:' + mob);
        $('#UserMobMenuTel').attr('href', 'tel:' + mob);
        alert('its mobile');
    } else if (item.charAt(0) !== '0' && item.charAt(1) !== '9') {
        $('#UserMobMenuSMS').addClass('disableUserMenuMob');
        $('#UserMobMenuSMS').attr('href', '#');
        alert('there is no mobile');
    } else {
        var phone = item;
        $('#UserMobMenuTel').attr('href', 'tel:' + phone);
        alert('its phone');
    }
});

如果号码以09开头,则为手机号码,否则为电话号码。并且html中有3个表单:

首先,只有电话号码:

不工作

<span id="PhoneLabel" class="GlobalTelColor">021-88915907 , 021-88915907</span>

秒,电话号码和手机号码:

运作良好

<span id="PhoneLabel" class="GlobalTelColor">09127007008 , 021-55293301-6 , 021-55293003</span>

第三,仅限手机号码

运作良好

<span id="PhoneLabel" class="GlobalTelColor">09195328272</span>

问题出在第一种形式,如果阵列中没有移动电话号码,我想在#UserMobMenuTel中使用电话号码,并在#UserMobMenuSMS级别停用disableUserMenuMob。我的意思是,如果没有手机号码UserMobMenuSMS应该获得disableUserMenuMob课程,但它不起作用,我想我在这种情况下使用了错误的方法,有没有更好的方法和解决方案?

请查看 JSFiddle 演示。

1 个答案:

答案 0 :(得分:1)

在那里改了一下。将disableUserMenuMob类添加为intial,然后在找到移动设备时删除Class。如果没有找到手机,请不要做任何事情。

你有3个if if开关,我觉得2对你想要的就足够了

https://jsfiddle.net/m6eza3q1/4/