使用地图从跨度获取文本,然后在检查条件后为它们分配不同的文本

时间:2013-06-04 14:51:51

标签: jquery

你好,我想从不同的跨度中获取文本,然后使用逗号将它们组合起来。我使用jquery map来做这件事并且工作正常。但是我想通过指定条件来为逗号加入之前为它们分配不同的值。如果值为veg,则新文本将为V。我的功能是

var p_diet = $('.mipdiet ul li').find('span:first')
                                .map(function(){return $(this).text();})
                                .get()
                                .join(',');

从这里我得到我选择的值,它存储在不同的范围内,如veg,non-veg

我希望在它们加入之前对它们进行比较,使输出为V,NV

2 个答案:

答案 0 :(得分:1)

不确定完全理解这个问题,但我认为这是你想要的?

var arrValues = {
                'veg' : 'V',
                'non-veg' : 'NV',
                'meat' : 'M',
                'non-meat' : 'NM'
                }

var p_diet = $('.mipdiet ul li').find('span:first')
                                .map(function(){
                                    var text = $(this).text();
                                    return arrValues[text];
                                })
                                .get()
                                .join(',');

告诉我这是不是你想要的。

答案 1 :(得分:0)

尝试以下方法,应该有效。

var ar= $('.mipdiet ul li').find('span:first')
                .map(function(){return $(this).text();})
                .map(function(){return this=='veg'?'V':this})
            .get().join();