如何获取jQuery对象类型字符串的值

标题可能有点绕,大致意思就是通过$(),把一个字符串str = "hello"转成了jQuery对象,如何获取到原字符串的值。为什么会有这种需求呢?因为今天封装一个处理字符串的jQuery方法时发现了这个问题。

$.fn.extend({
    removeLeftSpace: function(){
        return this.replace(/^\s+/g, "");
    }
})

var str = "  hello   world   ";
$(str).removeLeftSpace();

方法里的this是jQuery对象,并没有原生的replace方法,所以如何获取到原串成了主要问题。网上查了一下也没有查到方法,可能是真的没这种需求吧,于是就自己琢磨了一下,既然字符串被封装成了jQuery对象,那么原串肯定还在jQuery对象里,那就看下他的结构,直接输出就好了。

$.fn.extend({
    removeLeftSpace: function(){
        console.log(this);
    }
})

var str = "  hello   world   ";
$(str).removeLeftSpace();
如何获取jQuery对象类型字符串的值_第1张图片

结果很喜人,找到了原串的位置,那么下面就直接把他提取出来就好了,通过键值对中的key(selector)就行了。

$.fn.extend({
    removeLeftSpace: function(){
        console.log(this.selector);
    }
})

var str = "  hello   world   ";
$(str).removeLeftSpace();
如何获取jQuery对象类型字符串的值_第2张图片

你可能感兴趣的:(如何获取jQuery对象类型字符串的值)