Получить список классов для элемента с помощью jQuery

Недавно мигрировал из mongodb в Postgres. Вот как я использовал скрипты.

mongo < scripts.js > inserts.sql

Прочитайте scripts.js и перенаправьте вывод на inserts.sql.

scripts.js выглядит так

use myDb;
var string = "INSERT INTO table(a, b) VALUES";
db.getCollection('collectionName').find({}).forEach(function (object) {
    string += "('" + String(object.description) + "','" + object.name + "'),";
});
print(string.substring(0, string.length - 1), ";");

inserts.sql выглядит так

INSERT INTO table(a, b) VALUES('abc', 'Alice'), ('def', 'Bob'), ('ghi', 'Claire');
617
задан Mark Amery 17 December 2014 в 23:11
поделиться

2 ответа

Вы можете использовать document.getElementById ('divId'). ClassName.split (/ \ s + /); , чтобы получить массив имен классов.

Затем вы можете выполнить итерацию и найти тот, который вам нужен.

var classList = document.getElementById('divId').className.split(/\s+/);
for (var i = 0; i < classList.length; i++) {
    if (classList[i] === 'someClass') {
        //do something
    }
}

jQuery здесь вам не поможет ...

var classList = $('#divId').attr('class').split(/\s+/);
$.each(classList, function(index, item) {
    if (item === 'someClass') {
        //do something
    }
});
701
ответ дан 22 November 2019 в 21:51
поделиться

Немного поздно, но использование функции extend () позволяет вызывать hasClass () для любого элемента, например:
var hasClass = $ ('# divId'). HasClass ('someClass');

(function($) {
$.extend({
    hasClass: new function(className) {
        var classAttr = $J(this).attr('class');
        if (classAttr != null && classAttr != undefined) {
            var classList = classAttr.split(/\s+/);
            for(var ix = 0, len = classList.length;ix < len;ix++) {
                if (className === classList[ix]) {
                    return true;
                }
            }
        }
        return false;
    }
}); })(jQuery);
-3
ответ дан 22 November 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: