Получить имя класса динамически с помощью jquery - PullRequest
2 голосов
/ 05 января 2010

Я пытаюсь получить имя этого класса динамически в jquery:

echo "<div id=\"maini\" class=\"type_" .$category. " start_" .$adSize. " color_" .$color. "\"> \n";
     echo " " . $siteName . " \n";  
echo "</div> \n";

Как видите, имя класса генерируется с помощью PHP.

Мне нужно имя класса для этого фрагмента кода. Но то, что я пробовал, не работает -> $ ("div." + This.id). :

    $(document).ready(function() {
        maini_s = $("div." + this.id).remove();
        num_of_arts = maini_s.length;
        ipp = 3;

Вот весь файл js на тот случай, если вам нужно увидеть другие элементы раньше.

var maini_s;
var num_of_arts;
var ipp;

function handlePaginationClick(new_page_index, pagination_container) {
    var pc = $(pagination_container);
    pc.children('div#maini').remove();
    for(var i=new_page_index*ipp; i < (new_page_index+1)*ipp ;i++) {
        if (i < num_of_arts) {
                pc.append(maini_s[i]);
        }
    }
    return false;
}

$(document).ready(function() {
    maini_s = $("div." + this.id).remove();
    num_of_arts = maini_s.length;
    ipp = 3;


    // First Parameter: number of items
    // Second Parameter: options object
    $("#News-Pagination").pagination(11, {
        items_per_page:ipp, 
        callback:handlePaginationClick
    });
});

Ответы [ 3 ]

3 голосов
/ 05 января 2010

Чтобы получить имя класса, просто потяните атрибут класса:

var className = $(".element").attr("class");

Убедитесь, что вы учитываете, что иногда элементы имеют несколько имен классов, разделенных пробелами.

1 голос
/ 05 января 2010

Возможно, я что-то упускаю, но синтаксис ...

"div." + this.id

будет искать DIV с именем класса, содержащимся в this.id, а не ID. Если вы хотите выбрать по идентификатору, я думаю, вы захотите ...

"div#" + this.id

, который будет использовать селектор # ID, а не. селектор класса.

0 голосов
/ 05 января 2010

звоните maini_s = $("div." + this.id).remove(); из $(document).ready(function()

Ключевое слово this в данном случае относится к элементу window.document .., который обычно не имеет идентификатора.

Вы уверены, что хотите запустить его оттуда? или, может быть, событие щелчка на каком-то другом предмете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...