使用jquery动态获取类名

时间:2010-01-05 19:49:49

标签: php jquery

我试图在jquery中动态获取这个类名:

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

正如您所看到的,类名是使用PHP生成的。

我需要这段代码的类名。但我尝试的不起作用 - &gt; $(“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 个答案:

答案 0 :(得分:3)

要获取类名,只需提取类属性:

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

请确保您考虑到有时元素具有多个类名,由空格分隔。

答案 1 :(得分:1)

我可能会遗漏一些东西,但语法......

"div." + this.id

会查找包含在this.id中的类名的DIV,而不是ID。如果你想按ID选择,我相信你想要......

"div#" + this.id

将使用#ID选择器而不是。类选择器。

答案 2 :(得分:0)

您从maini_s = $("div." + this.id).remove();

致电$(document).ready(function()

这种情况下的this关键字是指window.document元素..它通常没有id ..

你确定要从那里运行吗?或者某个其他项目上的点击事件?