IT虾米网

javascript之jquery 数组不相等

linjiqin 2024年11月24日 程序员 44 0

我正在尝试使用 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 中的电话号码并禁用#UserMobMenuSMSdisableUserMenuMob类(class)。我的意思是当没有手机号码时UserMobMenuSMS应该得到 disableUserMenuMob类,但它不起作用,我想我在这种情况下使用了错误的方法,有没有更好的方法和解决方案?。

请查看JSFiddle 演示。

请您参考如下方法:

稍微改变一下。添加了 disableUserMenuMob 类作为初始类,然后在找到移动设备时删除类。如果没有找到手机,则不执行任何操作。

你有 3 个 if else 开关,我觉得 2 个就足够满足你的需求了

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


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!