Javascript分割字串位于。但不是 。引号后

时间:2018-09-21 22:54:00

标签: javascript html css

因此,基本上,如果我有"this.that",我希望它成为['this', 'that'],但是使用string.split()可以使"this.('.that')"'this.(".that")'成为['this', '(".that")']。 )还是没有?

1 个答案:

答案 0 :(得分:1)

  

基本上我试图写一个switch语句将jquery变成js,所以如果您写$('p')。hide()会隐藏所有p标签,但是如果您写$('。p')。 hide()将隐藏所有.p类

似乎您不想使用jQuery,并且您正在尝试编写一个将jQuery代码转换为相应DOM API的解析器。这可能是灾难的根源。创建一个可以像jQuery一样工作的简单构造函数更有意义。像这样:

function $(selector) {
    if (!(this instanceof $)) {
        return new $(selector);
    }

    this.length = 0;

    if (typeof selector === 'undefined') {
        return this;
    }

    var q = document.querySelectorAll(selector);
    for (var i = 0, l = q.length; i < l; i++) {
        this[i] = q[i];
    }
    this.length = q.length;
    return this;
}

$.prototype.each = function(cb) {
    for (var i = 0, l = this.length; i < l; i++) {
        cb.apply(this[i], [i, this[i]]);
    }
    return this;
}

$.prototype.hide = function() {
    return this.each(function(i, el) {
        el.style.display = 'none';
    });
}

$函数接受document.querySelectorAll接受的所有选择器。